OracleNotificationEventArgsクラスでは、通知にイベント・データを提供します。
クラスの継承
System.Object
System.EventArgs
Oracle.DataAccess.Client.OracleNotificationEventArgs
宣言
// C# public sealed class OracleNotificationEventArgs
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、メソッドではスレッド安全性は保証されません。
要件
ネームスペース: Oracle.DataAccess.Client
アセンブリ: Oracle.DataAccess.dll
ODP.NETのバージョン: ODP.NET for .NET Framework 2.0またはODP.NET for .NET Framework 4
コメント: .NETストアド・プロシージャではサポートされません
OracleNotificationEventArgsメンバーは次の表にリストされています。
OracleNotificationEventArgs静的フィールド
OracleNotificationEventArgs静的フィールドを、表9-18にリストします。
OracleNotificationEventArgs静的メソッド
OracleNotificationEventArgs静的メソッドを、表9-19にリストします。
OracleNotificationEventArgsプロパティ
OracleNotificationEventArgsプロパティを、表9-20にリストします。
表9-20 OracleNotificationEventArgsプロパティ
| プロパティ | 説明 |
|---|---|
|
|
現行の通知に関する詳細情報を含みます |
|
|
通知のデータベース・イベントを示します |
|
|
現行の通知に関連するデータベース・リソースを示します |
|
|
通知のデータベース・イベント・ソースを戻します |
|
|
通知のデータベース・イベント・タイプを戻します |
OracleNotificationEventArgsメソッド
OracleNotificationEventArgsメソッドを、表9-21にリストします。
OracleNotificationEventArgsプロパティを、表9-24にリストします。
表9-24 OracleNotificationEventArgsプロパティ
| プロパティ | 説明 |
|---|---|
|
|
現行の通知に関する詳細情報を含みます |
|
|
通知のデータベース・イベントを示します |
|
|
現行の通知に関連するデータベース・リソースを示します |
|
|
通知のデータベース・イベント・ソースを戻します |
|
|
通知のデータベース・イベント・タイプを戻します |
このプロパティには、現行の通知に関する詳細情報が含まれます。
宣言
// C#
Public DataTable Details{get;}
プロパティ値
現行の通知に関する詳細情報を含んだDataTableインスタンス
備考
戻されたDataTableオブジェクトには、表9-25に示すように現行通知の列データが順番に含まれます。
表9-25 DataTableオブジェクトの列データ
| 名前 | タイプ | 説明 |
|---|---|---|
|
|
|
< |
|
|
|
リソース上で発生するデータベース・イベントに関する情報 |
|
|
|
無効な表の行の行ID |
|
|
|
|
QueryId列には、問合せベース通知の際にSELECT文で取得された疑似列に相当するCHANGE_NOTIFICATION_QUERY_IDが含まれます。また、OracleDependencyオブジェクトは登録されているすべてのCHANGE_NOTIFICATION_QUERY_IDを保持します。
連続問合せ通知の場合
Detailsプロパティは、データ表の通知にある、各無効化オブジェクトの変更を示します。
ROWID情報が要求されると、ROWID情報がROWID列に作成されます。ただし、多くの行が表内で変更されると、表全体が無効化し、ROWID情報は提供されません。このため、ROWID行にはすべてのNull値が含まれます。
データベース・イベントが表のDDL変更または表の削除に関連している場合、Rowid列はNullに設定されます。
このプロパティは、通知のデータベース・イベントを示します。
宣言
// C#
public OracleNotificationInfo Info{get;}
プロパティ値
通知のデータベース・イベントを示すOracleNotificationInfo値
備考
OracleNotificationInfo値は列挙型です。無効化メッセージから複数のイベントを受信する場合、Infoプロパティはデータベース・イベントに関連付けられたOracleNotificationInfo列挙値の1つに設定されます。たとえば、ある表が変更され、別の表に新しい行が挿入されている場合、InfoプロパティはOracleNotificationInfo.AlterededまたはOracleNotificationInfo.Insertのいずれかに設定されます。
無効化メッセージから詳細情報を取得するには、DetailsおよびResourceNamesプロパティを使用します。
このプロパティは、現行の通知に関連するデータベース・リソースを示します。
宣言
// C#
public string[] ResourceNames{get;}
プロパティ値
現行の通知に関連するデータベース・リソースを示す文字列配列
備考
連続問合せ通知の場合、ResourceNamesプロパティには無効化オブジェクト名が<schema_name>.<object _name>の書式で含まれます。無効化オブジェクトの変更に関する詳細情報を取得するには、Detailsプロパティを使用します。
このプロパティでは、通知のデータベース・イベント・ソースを戻します。
宣言
// C#
public OracleNotificationSource Source{get;}
プロパティ値
通知のOracleNotificationSource値
備考
OracleNotificationSource値は列挙型です。通知メッセージから複数のイベント・ソースを受信する場合、Sourceプロパティはデータベース・イベント・ソースに関連するOracleNotificationSource列挙値の1つに設定されます。たとえば、(ALTER TABLEコマンドにより)表が変更され、同じ表に新しい行が挿入されている場合、SourceプロパティはOracleNotificationSource.ObjectまたはOracleNotificationSource.Dataのいずれかに設定されます。
連続問合せ通知の場合
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
OracleNotificationEventArgsメソッドを、表9-26にリストします。