AddCommandDependency
このインスタンス・メソッドでは、指定されたOracleCommandインスタンスにOracleDependencyインスタンスをバインドします。
宣言
// C#
Public void AddCommandDependency (OracleCommand cmd);
パラメータ
-
cmdOracleDependencyオブジェクトにバインドされるコマンド。
例外
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)を参照