0

Enqueue.NET クライアントから Oracle Queue にメッセージを送信しようとしています。メッセージが特定のサイズを超えると、次のエラーが発生します。

ORA-01013: ユーザーが現在の操作の取消をリクエストしました

XMLTYPEこれは、とrawキュー テーブルのメッセージ タイプの 両方で発生します。

メッセージのサイズが原因のようですが、限られた Oracle エラー メッセージの原因を特定することはできません。

サイズに制限はありますか、サイズを大きくすることはできますか、またはこの問題を解決する別の方法はありますか?

アップデート:

  • メッセージを直接送信できますdbms_aq.enqueue(...)
  • .NET クライアントからタイムアウトを設定しても効果はありません。(タイムアウト値に関係なくすぐにタイムアウトします)
4

2 に答える 2

1

これは、.net クライアントからの接続タイムアウトのように聞こえます。タイムアウトを増やしてみてください。それでも問題が解決しない場合は、dbms_aq.enqueue(...) を介して直接メッセージを挿入して、メッセージ ペイロードに問題があるかどうかを確認します。挿入できる場合は、メッセージ自体は問題ありません。

于 2012-02-07T19:21:36.220 に答える
1

11.2.0.3 ではサイズ関連の問題がいくつか修正されています。この非公式リストはこちらを参照してください。

http://www.eygle.com/Notes/11.2.0.3.html

いくつかの例:

9878459  Specific length object binds over 4k may be bound as NULL
10389881 Raw buffered message payload > 8k corrupted when dequeued 
         from a buffered queue

おそらく、あなたの問題はこのリストにありますか?

于 2012-02-13T11:12:27.467 に答える