2

将消息加载到 mq 通道时面临的问题,收到如下粘贴的错误

MQOPEN ended with reason code 2001

unable to open queue for output

我该如何解决上述问题,请任何人提供相同的建议

4

1 回答 1

1

返回码解析如下:

C:\>mqrc 2001

      2001  0x000007d1  MQRC_ALIAS_BASE_Q_TYPE_ERROR

此返回代码的信息中心页面提供以下说明:


2001 (07D1) (RC2001):MQRC_ALIAS_BASE_Q_TYPE_ERROR

解释

发出 MQOPEN 或 MQPUT1 调用,指定别名队列作为目标,但别名队列定义中的 BaseQName 解析为不是本地队列、远程队列的本地定义或集群队列的队列。完成代码

*MQCC_FAILED 程序员响应*

更正队列定义。


换句话说,您的应用打开的队列是别名队列。如果您正在打开输入并且基本队列不是本地队列,则会导致此错误。如果您打开输出并且基本队列不是本地队列、远程队列的本地定义或集群队列,您也会收到此错误。

上面的错误代码中没有提到的是,如果别名队列直接指向传输队列,您也会收到此错误。在这种情况下,您需要的是 QRemote 而不是别名。

于 2012-07-04T17:19:22.927 回答