プライマリ・コンテンツに移動
Oracle® Data Provider for .NET開発者ガイド
ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows
E88311-03
目次へ移動
目次
索引へ移動
索引

前
次

DequeueArray(int)

このインスタンス・メソッドは、インスタンスのDequeueOptionsを使用してキューから複数のメッセージをデキューします。

宣言

// C#
public OracleAQMessage[] DequeueArray(int dequeueCount);

パラメータ

  • dequeueCount

    デキューするメッセージの数を指定するinteger

戻り値

デキューされたメッセージを表すOracleAQMessageインスタンスの配列。

例外

ArgumentOutOfRangeException - dequeueCountが0以下です。

InvalidOperationException - 接続がオープンされていません。

ObjectDisposedException - オブジェクトはすでに処理されています。

OracleException: タイムアウトした場合、「ORA-25228: queue_nameからメッセージをデキュー中に、タイムアウトまたはフェッチ終了になりました。」 というメッセージとともに例外がスローされます。DequeueOptions.Wait-1以外の値に設定されていると、タイムアウトが発生することがあります。

備考

このメソッドは、Oracle Database 10g以上のリリースでサポートされます。

このファンクションをコールする前にMessageTypeプロパティを適切に設定しておく必要があります。MessageTypeOracleAQMessageType.UDTの場合は、UdtTypeNameプロパティも設定する必要があります。

戻される配列のサイズは、dequeueCountより小さいことがあります。キューに存在するメッセージの実際の数によって異なります。

データベースのバージョンがOracle Database 12cリリース2 (12.2)より前の場合は、DequeueArrayを使用して取得される永続OracleAQMessageオブジェクトのMessageIdプロパティは常にnullです。

デキューされたバッファ・メッセージのMessageId値は、データベースのバージョンに関係なく、常にnullです。