OracleNotificationEventArgs Class

The OracleNotificationEventArgs class provides event data for a notification.

Class Inheritance

System.Object

  System.EventArgs

    Oracle.DataAccess.Client.OracleNotificationEventArgs

Declaration

// C#
public sealed class OracleNotificationEventArgs

Requirements

Provider ODP.NET, Unmanaged Driver ODP.NET, Managed Driver
Assembly Oracle.DataAccess.dll Oracle.ManagedDataAccess.dll
Namespace Oracle.DataAccess.Client Oracle.ManagedDataAccess.Client
.NET Framework 3.5, 4.0, 4.5 4.0, 4.5

Not supported in a .NET stored procedure

Thread Safety

All public static methods are thread-safe, although methods do not guarantee thread safety.

OracleNotificationEventArgs Members

OracleNotificationEventArgs members are listed in the following tables.

OracleNotificationEventArgs Static Fields

The OracleNotificationEventArgs static field is listed in Table 9-18.

Table 9-18 OracleNotificationEventArgs Static Field

Static Field Description

Empty

Inherited from System.EventArgs


OracleNotificationEventArgs Static Methods

The OracleNotificationEventArgs static method is listed in Table 9-19.

Table 9-19 OracleNotificationEventArgs Static Method

Static Method Description

Equals

Inherited from System.Object


OracleNotificationEventArgs Properties

OracleNotificationEventArgs properties are listed in Table 9-20.

Table 9-20 OracleNotificationEventArgs Properties

Properties Description

Details

Contains detailed information about the current notification

Info

Indicates the database events for the notification

ResourceNames

Indicates the database resources related to the current notification

Source

Returns the database event source for the notification

Type

Returns the database event type for the notification


OracleNotificationEventArgs Methods

OracleNotificationEventArgs methods are listed in Table 9-21.

Table 9-21 OracleNotificationEventArgs Methods

Methods Description

Equals

Inherited from System.Object

GetHashCode

Inherited from System.Object

GetType

Inherited from System.Object

ToString

Inherited from System.Object


OracleNotificationEventArgs Static Fields

The OracleNotificationEventArgs static field is listed in Table 9-22.

Table 9-22 OracleNotificationEventArgs Static Field

Static Field Description

Empty

Inherited from System.EventArgs


OracleNotificationEventArgs Static Methods

The OracleNotificationEventArgs static method is listed in Table 9-23.

Table 9-23 OracleNotificationEventArgs Static Method

Static Method Description

Equals

Inherited from System.Object


OracleNotificationEventArgs Properties

OracleNotificationEventArgs properties are listed in Table 9-24.

Table 9-24 OracleNotificationEventArgs Properties

Properties Description

Details

Contains detailed information about the current notification

Info

Indicates the database events for the notification

ResourceNames

Indicates the database resources related to the current notification

Source

Returns the database event source for the notification

Type

Returns the database event type for the notification


Details

This property contains detailed information about the current notification.

Declaration

// C#
Public DataTable Details{get;}

Property Value

A DataTable instance that contains detailed information about the current notification.

Remarks

The returned DataTable object contains column data about the current notification in order as shown in Table 9-25.

Table 9-25 DataTable Object Column Data

Name Type Description

ResourceName

System.String

The resource name of the invalidated object in the format <Schema_name>.<object_name>

Info

OracleNotificationInfo

The information about the database event that occurs on a resource

Rowid

System.String

The rowid for the invalidated table row

QueryId

Int32

The CHANGE_NOTIFICATION_QUERY_ID


The QueryId column contains the CHANGE_NOTIFICATION_QUERY_ID that corresponds to the pseudo-column that may have been retrieved by a SELECT statement at the time of the query-based notification. Also, the OracleDependency object maintains all the CHANGE_NOTIFICATION_QUERY_IDs that are registered with it.

For Continuous Query Notification:

  • The Details property indicates changes for each invalidated object in the notification in the data table.

  • If ROWID information is requested, then the ROWID information is populated into the Rowid column. However, if many rows are modified in a table, then the whole table is invalidated, and ROWID information is not provided. Therefore, the Rowid column contains all Null values.

  • If the database event is related to a DDL change of the table or a table drop, then the Rowid column is set to Null.

Info

This property indicates the database events for the notification.

Declaration

// C#
public OracleNotificationInfo Info{get;}

Property Value

An OracleNotificationInfo value that indicates the database event for the notification.

Remarks

The OracleNotificationInfo value is an enumeration type. If several events are received from the invalidation message, the Info property is set to one of the OracleNotificationInfo enumeration values associated with the database events. For example, if a table has been altered and a new row has been inserted into another table, the Info property is set to either OracleNotificationInfo.Altered or OracleNotificationInfo.Insert.

To obtain more detailed information from the invalidation message, use the Details and the ResourceNames properties.

ResourceNames

This property indicates the database resources related to the current notification.

Declaration

// C#
public string[] ResourceNames{get;}

Property Value

A string array that indicates the database resources related to the current notification.

Remarks

For Continuous Query Notification, the ResourceNames property contains information about the invalidated object names in the format <schema_name>.<object _name>. To obtain more detailed information about the changes for invalidated objects, use the Details property.

Source

This property returns the database event source for the notification.

Declaration

// C#
public OracleNotificationSource Source{get;}

Property Value

The OracleNotificationSource value for the notification.

Remarks

The OracleNotificationSource value is an enumeration type. If several event sources are received from the notification message, the Source property is set to one of the OracleNotificationSource enumeration values related to the database event source. For example, if a table has been altered (by the ALTER TABLE command) and a new row has been inserted into the same table, the Source property is set to either OracleNotificationSource.Object or OracleNotificationSource.Data.

For Continuous Query Notification:

  • When the Source property is set to OracleNotificationSource.Data:

    • The Info property is set to one of the following:

      • OracleNotificationInfo.Insert

      • OracleNotificationInfo.Delete

      • OracleNotificationInfo.Update

    • The ResourceNames property is set, and the elements are set to the invalidated object names.

    • The Details property contains detailed information on the change of each invalidated table.

  • When the Source property is set to OracleNotificationSource.Database:

    • The Info property is set to one of the following:

      • OracleNotificationInfo.Startup

      • OracleNotificationInfo.Shutdown

      • OracleNotificationInfo.Shutdown_Any

      • OracleNotificationInfo.Dropped

  • When the Source property is set to OracleNotificationSource.Object:

    • The Info property is set to either OracleNotificationInfo.Altered or OracleNotificationInfo.Dropped.

    • The ResourceNames property is set, and the array elements of the ResourceNames property are set to the object names that have been altered or dropped.

    • The Details property contains detailed information on the changes of the object.

  • When the Source property is set to OracleNotificationSource.Subscription:

    • The Info property is set to the following:

      • OracleNotificationInfo.End

Type

This property returns the database event type for the notification.

Declaration

// C#
public OracleNotificationType Type{get;}

Property Value

An OracleNotificationType enumeration value that represents the type of the database event notification.

Remarks

The OracleNotificationType value is an enumeration type. If several event types are received from the notification message, then the Type property is set to one of the OracleNotificationType enumeration values related to the database event type.

OracleNotificationEventArgs Methods

OracleNotificationEventArgs methods are listed in Table 9-26.

Table 9-26 OracleNotificationEventArgs Methods

Methods Description

Equals

Inherited from System.Object

GetHashCode

Inherited from System.Object

GetType

Inherited from System.Object

ToString

Inherited from System.Object