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 8-25.

Table 8-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.

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.

Info

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.

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 ALTERTABLE 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:

Type

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.