The OracleNotificationEventArgs class provides event data for a notification.
Class Inheritance
Object
EventArgs
OracleNotificationEventArgs
Declaration
// C# public sealed class OracleNotificationEventArgs
Thread Safety
All public static methods are thread-safe, although methods do not guarantee thread safety.
Requirements
Namespace: Oracle.DataAccess.Client
Assembly: Oracle.DataAccess.dll
Comment: Not supported in a .NET stored procedure
OracleNotificationEventArgs members are listed in the following tables:
OracleNotificationEventArgs Static Fields
The OracleNotificationEventArgs static field is listed in Table 7-18.
Table 7-18 OracleNotificationEventArgs Static Field
| Static Field | Description |
|---|---|
Empty |
Inherited from EventArgs |
OracleNotificationEventArgs Static Methods
The OracleNotificationEventArgs static method is listed in Table 7-19.
Table 7-19 OracleNotificationEventArgs Static Method
| Static Method | Description |
|---|---|
Equals |
Inherited from Object |
OracleNotificationEventArgs Properties
OracleNotificationEventArgs properties are listed in Table 7-20.
Table 7-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 7-21.
Table 7-21 OracleNotificationEventArgs Methods
| Methods | Description |
|---|---|
Equals |
Inherited from Object |
GetHashCode |
Inherited from Object |
GetType |
Inherited from Object |
ToString |
Inherited from Object |
The OracleNotificationEventArgs static field is listed in Table 7-22.
Table 7-22 OracleNotificationEventArgs Static Field
| Static Field | Description |
|---|---|
Empty |
Inherited from EventArgs |
The OracleNotificationEventArgs static method is listed in Table 7-23.
Table 7-23 OracleNotificationEventArgs Static Method
| Static Method | Description |
|---|---|
Equals |
Inherited from Object |
OracleNotificationEventArgs properties are listed in Table 7-24.
Table 7-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 |
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 7-25.
Table 7-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 |
For Database Change Notification:
The Details property indicates changes for each invalidated object in the notification in the data table.
When the Rowid column is explicitly included in the statement, then the rowid information is populated into the Rowid column. However, if a lot of rows are modified in a table, then the whole table is invalidated, and rowid information is not provided. That means the Rowid column is set to Null.
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.
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.
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 Database Change 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.
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 Database Change 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
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 are listed in Table 7-26.