无法排入大型Oracle AQ消息

时间:2012-02-07 12:03:00

标签: oracle11g odp.net oracle-aq

我正在尝试从.NET客户端Enqueue向Oracle Queue发送消息。如果邮件超过特定大小,则会发生以下错误:

  

ORA-01013:用户请求取消当前操作

XMLTYPEraw都作为队列表的消息类型时,会发生这种情况。

看起来消息的大小应该受到指责,但无法确定是否是Oracle有限错误消息的原因。

尺寸是否有限制,我可以增加尺寸还是有其他方法可以解决这个问题?

更新

  • 我可以使用dbms_aq.enqueue(...)
  • 直接发送消息
  • 从.NET客户端设置超时没有任何效果。 (无论超时值如何,它都会立即超时)

2 个答案:

答案 0 :(得分:1)

这听起来像.net客户端的连接超时。尝试增加超时。如果这不起作用,请通过直接通过dbms_aq.enqueue(...)插入消息来检查问题是否与消息有效内容有关。如果你能插入,那么消息本身就可以了。

答案 1 :(得分: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

也许,您的问题出在此列表中?