OracleNotificationEventArgsクラスでは、通知にイベント・データを提供します。
クラスの継承
System.Object
System.EventArgs
Oracle.DataAccess.Client.OracleNotificationEventArgs
宣言
// C# public sealed class OracleNotificationEventArgs
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、メソッドではスレッド安全性は保証されません。
要件
ネームスペース: Oracle.DataAccess.Client
アセンブリ: Oracle.DataAccess.dll
Microsoft .NET Frameworkバージョン: 1.xまたは2.0
コメント: .NETストアド・プロシージャではサポートされません。
OracleNotificationEventArgsメンバーは次の表にリストされています。
OracleNotificationEventArgs静的フィールド
OracleNotificationEventArgs静的フィールドのリストを、表8-18に示します。
OracleNotificationEventArgs静的メソッド
OracleNotificationEventArgs静的メソッドのリストを、表8-19に示します。
OracleNotificationEventArgsプロパティ
OracleNotificationEventArgsプロパティのリストを、表8-20に示します。
表8-20 OracleNotificationEventArgsプロパティ
| プロパティ | 説明 |
|---|---|
|
|
現行の通知に関する詳細情報を含みます |
|
|
通知のデータベース・イベントを示します |
|
|
現行の通知に関連するデータベース・リソースを示します |
|
|
通知のデータベース・イベント・ソースを戻します |
|
|
通知のデータベース・イベント・タイプを戻します |
OracleNotificationEventArgsメソッド
OracleNotificationEventArgsメソッドのリストを、表8-21に示します。
表8-21 OracleNotificationEventArgsメソッド
| メソッド | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
OracleNotificationEventArgs静的フィールドのリストを、表8-22に示します。
OracleNotificationEventArgs静的メソッドのリストを、表8-23に示します。
OracleNotificationEventArgsプロパティのリストを、表8-24に示します。
表8-24 OracleNotificationEventArgsプロパティ
| プロパティ | 説明 |
|---|---|
|
|
現行の通知に関する詳細情報を含みます |
|
|
通知のデータベース・イベントを示します |
|
|
現行の通知に関連するデータベース・リソースを示します |
|
|
通知のデータベース・イベント・ソースを戻します |
|
|
通知のデータベース・イベント・タイプを戻します |
このプロパティには、現行の通知に関する詳細情報が含まれます。
宣言
// C#
Public DataTable Details{get;}
プロパティ値
現行の通知に関する詳細情報を含んだDataTableインスタンス
備考
戻されたDataTableオブジェクトには、現行通知の列データが表8-25に示す順番で含まれています。
表8-25 DataTableオブジェクトの列データ
| 名前 | タイプ | 説明 |
|---|---|---|
|
|
|
< |
|
|
|
リソース上で発生するデータベース・イベントに関する情報 |
|
|
|
無効な表の行の行ID |
|
|
|
|
QueryId列には、問合せベースの通知の時点で、SELECT文によって取得された可能性がある擬似列に対応するCHANGE_NOTIFICATION_QUERY_IDが格納されます。 また、OracleDependencyオブジェクトには、そのオブジェクトとともに登録されているすべてのCHANGE_NOTIFICATION_QUERY_IDが保持されています。
Continuous Query Notificationの場合
Detailsプロパティは、データ表の通知にある、各無効化オブジェクトの変更を示します。
Rowid列が文に明示的に含まれている場合、行ID情報はRowid列に移入されます。ただし、表で変更される行の数が多い場合は、表全体が無効化され、行ID情報は提供されません。これは、Rowid列がNullに設定されることを意味します。
データベース・イベントが表のDDL変更または表の削除に関連している場合、Rowid列はNullに設定されます。
このプロパティは、通知のデータベース・イベントを示します。
宣言
// C#
public OracleNotificationInfo Info{get;}
プロパティ値
通知のデータベース・イベントを示すOracleNotificationInfo値
備考
OracleNotificationInfo値は列挙型です。無効化メッセージから複数のイベントを受信する場合、Infoプロパティはデータベース・イベントに関連付けられたOracleNotificationInfo列挙値の1つに設定されます。たとえば、ある表が変更され、別の表に新しい行が挿入されている場合、InfoプロパティはOracleNotificationInfo.AlteredまたはOracleNotificationInfo.Insertのいずれかに設定されます。
無効化メッセージから詳細情報を取得するには、DetailsおよびResourceNamesプロパティを使用します。
このプロパティは、現行の通知に関連するデータベース・リソースを示します。
宣言
// C#
public string[] ResourceNames{get;}
プロパティ値
現行の通知に関連するデータベース・リソースを示す文字列配列
備考
Continuous Query Notificationの場合、ResourceNamesプロパティには無効化オブジェクト名に関する情報が<schema_name>.<object _name>の書式で含まれます。無効化オブジェクトの変更に関する詳細情報を取得するには、Detailsプロパティを使用します。
このプロパティでは、通知のデータベース・イベント・ソースを戻します。
宣言
// C#
public OracleNotificationSource Source{get;}
プロパティ値
通知のOracleNotificationSource値
備考
OracleNotificationSource値は列挙型です。通知メッセージから複数のイベント・ソースを受信する場合、Sourceプロパティはデータベース・イベント・ソースに関連するOracleNotificationSource列挙値の1つに設定されます。たとえば、(ALTER TABLEコマンドにより)表が変更され、同じ表に新しい行が挿入された場合、SourceプロパティはOracleNotificationSource.ObjectまたはOracleNotificationSource.Dataのいずれかに設定されます。
Continuous Query Notificationの場合
SourceプロパティがOracleNotificationSource.Dataに設定されている場合
Infoプロパティは、次のいずれかに設定されます。
OracleNotificationInfo.Insert
OracleNotificationInfo.Delete
OracleNotificationInfo.Update
ResourceNamesプロパティが設定され、要素は無効化オブジェクト名に設定されます。
Detailsプロパティには、無効化された各表の変更に関する詳細情報が含まれます。
SourceプロパティがOracleNotificationSource.Databaseに設定されている場合
Infoプロパティは、次のいずれかに設定されます。
OracleNotificationInfo.Startup
OracleNotificationInfo.Shutdown
OracleNotificationInfo.Shutdown_Any
OracleNotificationInfo.Dropped
SourceプロパティがOracleNotificationSource.Objectに設定されている場合
Infoプロパティは、OracleNotificationInfo.AlteredまたはOracleNotificationInfo.Droppedのいずれかに設定されます。
ResourceNamesプロパティが設定され、ResourceNamesプロパティの配列要素は、変更または削除されたオブジェクト名に設定されます。
Detailsプロパティには、オブジェクトの変更に関する詳細情報が含まれます。
SourceプロパティがOracleNotificationSource.Subscriptionに設定されている場合
Infoプロパティは、次の値に設定されます。
OracleNotificationInfo.End
このプロパティでは、通知のデータベース・イベント・タイプを戻します。
宣言
// C#
public OracleNotificationType Type{get;}
プロパティ値
データベース・イベント通知のタイプを表すOracleNotificationType列挙値
備考
OracleNotificationType値は列挙型です。通知メッセージから複数のイベント・ソースを受信する場合、Typeプロパティはデータベース・イベント・タイプに関連するOracleNotificationType列挙値の1つに設定されます。
OracleNotificationEventArgsメソッドのリストを、表8-26に示します。