9.1.6.1 AddCommandDependency
このインスタンス・メソッドでは、指定されたOracleCommand
インスタンスにOracleDependency
インスタンスをバインドします。
宣言
// C#
Public void AddCommandDependency (OracleCommand cmd);
パラメータ
-
cmd
OracleDependency
オブジェクトにバインドされるコマンド。
例外
ArgumentNullException
- cmd
パラメータがNULLです。
InvalidOperationException
- 指定されたOracleCommand
インスタンスには、すでに通知要求が含まれています。
備考
OracleDependency
インスタンスは、複数のOracleCommand
インスタンスにバインドできます。
AddCommandDependency
メソッドは、既存のOracleDependency
インスタンスをOracleCommand
インスタンスにバインドする際、OracleNotificationRequest
インスタンスを作成し、指定されたOracleCommand.Notification
プロパティにこのインスタンスを設定します。
このメソッドによりOracleNotificationRequest
インスタンスが作成される際、次のOracleNotificationRequest
プロパティが設定されます。
-
IsNotifiedOnce
はTrue
に設定されます。 -
Timeout
は50,000秒に設定されます。 -
IsPersistent
はFalse
に設定され、配信前に無効化メッセージがインメモリー・キューに格納されます。
このメソッドを使用すると、複数のコマンドを1つの連続問合せ通知登録要求に関連付けることができます。さらに、OracleCommand
とOracleDependency
間にアソシエーションが確立されると、OracleCommand
に割り当てられているOracleNotificationRequest
属性の値を変更できます。
ただし、複数のOracleCommand
オブジェクトが1つのOracleDependency
オブジェクトに関連付けられている場合は、最初に実行されるOracleCommand
オブジェクトのOracleNotificationRequest
属性(Timeout
、IsPersistent
およびIsNotifiedOnce
)が登録に使用され、その後に実行されるOracleCommand
に関連付けられている属性は無視されます。
さらに、OracleDependency
に関連付けられているコマンドが実行および登録されると、同じOracleDependency
に関連付けられている後続のすべてのコマンドの実行と登録では、同じ"User
Id"
および"Data
Source"
接続文字列属性値の設定を持つ接続を使用する必要があります。
それ以外の場合は、例外がスローされます。
関連項目:
-
Oracle.DataAccess.ClientおよびOracle.ManagedDataAccess.Clientのネームスペース
-
OracleNotificationRequest
プロパティ値については、OracleDependency(OracleCommand)を参照