2012-02-07 31 views
0

我想從Enqueue消息到.NET客戶端的Oracle隊列中。如果消息超過特定尺寸時,會出現以下錯誤:不能入隊大型Oracle AQ消息

ORA-01013:用戶請求取消當前操作

這是與兩個XMLTYPEraw作爲隊列表的消息類型的。

似乎該消息的大小是責怪,但無法確定是否有限的Oracle錯誤消息的原因。

是否有限制的尺寸,我可以增加尺寸或有其他方法來克服這個問題?

更新:

  • 我能夠將消息直接與dbms_aq.enqueue(...)
  • 從.NET客戶端設置超時沒有任何效果發送。 (不管超時值立即超時)

回答

1

這聽起來像來自.net客戶端的連接超時。嘗試增加超時。如果這不起作用,請通過直接通過dbms_aq.enqueue(...)插入消息來檢查問題是否與消息有效負載相關。如果你能夠插入,那麼消息本身就沒有問題。

+0

感謝您的回覆。我已經用調查結果更新了我的問題。 – 2012-02-08 03:38:37

+0

所以消息大小不是問題。你能否包含隊列有效負載類型的定義,並且可能是你試圖插入隊列的代碼片段? – 2012-02-08 21:50:42

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 

也許,你的問題是在這個名單?