日本語PDF

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プロパティが設定されます。

  • IsNotifiedOnceTrueに設定されます。

  • Timeoutは50,000秒に設定されます。

  • IsPersistentFalseに設定され、配信前に無効化メッセージがインメモリー・キューに格納されます。

このメソッドを使用すると、複数のコマンドを1つの連続問合せ通知登録要求に関連付けることができます。さらに、OracleCommandOracleDependency間にアソシエーションが確立されると、OracleCommandに割り当てられているOracleNotificationRequest属性の値を変更できます。

ただし、複数のOracleCommandオブジェクトが1つのOracleDependencyオブジェクトに関連付けられている場合は、最初に実行されるOracleCommandオブジェクトのOracleNotificationRequest属性(TimeoutIsPersistentおよびIsNotifiedOnce)が登録に使用され、その後に実行されるOracleCommandに関連付けられている属性は無視されます。

さらに、OracleDependencyに関連付けられているコマンドが実行および登録されると、同じOracleDependencyに関連付けられている後続のすべてのコマンドの実行と登録では、同じ"User Id"および"Data Source"接続文字列属性値の設定を持つ接続を使用する必要があります。

それ以外の場合は、例外がスローされます。