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

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

前 | 次 |

# OracleDependency(OracleCommand, bool, int, bool)

このコンストラクタでは、`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`は指定された値に設定されます。

関連項目:

- Oracle.DataAccess.ClientおよびOracle.ManagedDataAccess.Clientのネームスペース

- OracleDependencyクラス

- OracleDependencyメンバー