将消息加载到 mq 通道时面临的问题,收到如下粘贴的错误
MQOPEN ended with reason code 2001
unable to open queue for output
我该如何解决上述问题,请任何人提供相同的建议
将消息加载到 mq 通道时面临的问题,收到如下粘贴的错误
MQOPEN ended with reason code 2001
unable to open queue for output
我该如何解决上述问题,请任何人提供相同的建议
返回码解析如下:
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 而不是别名。