プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# 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のネームスペース

- OracleDependencyクラス

- OracleDependencyメンバー

- `OracleNotificationRequest`プロパティ値については、OracleDependency(OracleCommand)を参照