Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法从队列iBM MQ 7.0获取少量消息_C#_Ibm Mq - Fatal编程技术网

C# 无法从队列iBM MQ 7.0获取少量消息

C# 无法从队列iBM MQ 7.0获取少量消息,c#,ibm-mq,C#,Ibm Mq,Im使用IBM MQ 7.0获取和放置消息。我无法从一个队列中获取所有消息。我能收到一些信息,但很少有人不能收到。我的应用程序试图获得5次,我得到的错误是原因代码=2009,完成代码=2。这种情况经常发生,我不知道为什么只有少数几家公司会发生这种情况。如果我再次重新处理这些消息以排队,那么它将再次工作。其他队列在同一服务器上工作正常,只有两个队列出现此错误。提前感谢2009是“连接中断”。在此之前,您需要查看五个故障(某些描述的MQGET)的完成代码和原因代码 一旦你知道了这一点,确定你的问题就

Im使用IBM MQ 7.0获取和放置消息。我无法从一个队列中获取所有消息。我能收到一些信息,但很少有人不能收到。我的应用程序试图获得5次,我得到的错误是原因代码=2009,完成代码=2。这种情况经常发生,我不知道为什么只有少数几家公司会发生这种情况。如果我再次重新处理这些消息以排队,那么它将再次工作。其他队列在同一服务器上工作正常,只有两个队列出现此错误。提前感谢

2009
是“连接中断”。在此之前,您需要查看五个故障(某些描述的MQGET)的完成代码和原因代码

一旦你知道了这一点,确定你的问题就简单多了。考虑到您通常从MQ获得的良好错误代码,这可能是显而易见的:-)


如果您遇到的第一个错误是
2009
,IBM有一篇文章介绍了您可能想了解的最常见的原因。

该修复程序仅适用于WMQ客户端v7.0.1.0。你用的是那个版本吗?其次,根据APAR,“超过32000字节的消息”。那么,您的消息是否大于32000字节

2009年的RC通常意味着你的频道名称是错误的。通道名称区分大小写。e、 g.JAVA.CHL与JAVA.CHL不同,也与JAVA.CHL不同

如果通过runmqsc将通道定义为:

define channel(java.chl) CHLTYPE(SVRCONN) TRPTYPE(TCP)

因为您没有在通道名称周围使用引号,所以MQ在定义通道名称时会将其大写(即JAVA.CHL)。因此,最好始终将大写名称与MQ一起使用。

我的问题在升级到7.0.1.8后得到了解决。

这是我得到的错误。我经常收到这个错误,但不是所有的时间。WebSphereMQ异常(cc=2,rc=2009),从IBM.WMQ.MQDestination.Get(MQMessage message,MQGetMessageOptions gmo,Int32 maxMsgSize)处IBM.WMQ.MQDestination.Get(MQMessage message,MQGetMessageOptions gmo)@reddy的IBM.WMQ.MQBase.throwNewMQException()处的队列“TestQueue”接收消息时,你是说你得到的第一个原因码是2009年吗?你原来的问题似乎表明你在五次尝试后获得了2009年。对不起,我已经编辑了我的问题。我的应用程序正在尝试获取消息,它将尝试五次。我五次都遇到同样的错误,我发现了一个IBM链接,这正是我的问题所在。在这个链接中,IBM要求升级,但不升级就可以修复吗?@reddy,不,如果APAR的“临时修复”部分中没有数据,那么唯一的解决方案就是安装fixpack。我的通道表文件看起来不错,没有问题。是的,我使用的是v7.0.1.0版本,我的信息更大