2012-02-07 27 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 

也许,你的问题是在这个名单?