| Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
|
![]() 前 |
![]() 次 |
このコンストラクタでは、OracleDependencyクラスのインスタンスを作成し、指定されたOracleCommandインスタンスにバインドします。このとき、通知時にその登録が削除されるかどうか、通知登録のタイムアウト値、および通知の継続期間を指定します。
宣言
// C# public OracleDependency (OracleCommand cmd, bool isNotifiedOnce, long timeout, bool isPersistent)
パラメータ
cmd
連続問合せ通知要求に関連付けられるコマンド。
isNotifiedOnce
通知の発生後に、登録が自動的に削除されるかどうかを示すインジケータ。
timeout
秒数で表した、登録が有効な時間。timeoutが0に設定されている場合、登録が期限切れになることはありません。timeoutの有効値は、0から4294967295です。
isPersistent
配信前に、無効化メッセージがデータベース内で永続的にキューされるかどうかを示します。isPersistentパラメータがTrueに設定されている場合、メッセージはデータベース内で永続的にキューされ、データベースがクラッシュおよびシャットダウンした際にも失われることはありません。isPersistentプロパティがFalse に設定されている場合、メッセージは配信前にインメモリー・キューに格納されるため、失われる可能性があります。
メッセージがデータベース・キューではなくインメモリー・キューに格納されることで、データベース・パフォーマンスは向上します。
例外
ArgumentNullException - cmdパラメータがNULLです。
ArgumentOutOfRangeException - 指定されたtimeoutが無効です。
InvalidOperationException - 指定されたOracleCommandインスタンスには、すでに通知要求が含まれています。
備考
このOracleDependencyコンストラクタによりOracleCommandインスタンスがOracleDependencyインスタンスにバインドされると、OracleNotificationRequestインスタンスが作成され、OracleCommand.NotificationプロパティにそのOracleNotificationRequestインスタンスが設定されます。
連続問合せ通知は、コマンド実行時にデータベースに登録されます。コマンド実行メソッド(ExecuteNonQueryやExecuteReaderなど)により、通知要求が登録されます。OracleDependencyは、複数のOracleCommandにバインドできます。これらのOracleCommandオブジェクト文のいずれかが実行されると、関連付けられているOracleCommandにその文が登録されます。個々のOracleCommandの登録は個別に発生しますが、OracleDependencyが関連付けられているすべてのOracleCommandオブジェクトに対して発生する、通知の検出および送信は1つのOracleDependencyで行うことができます。OnChangeイベントのアプリケーションに渡されるOnChangeEventArgsでは、データベース内での変更に関する情報を提供します。
このコンストラクタによって作成されるOracleNotificationRequestインスタンスのプロパティのデフォルト値は、次のとおりです。
IsNotifiedOnceは指定された値に設定されます。
Timeoutは指定された値に設定されます。
IsPersistentは指定された値に設定されます。