原因为“2045”官方文件说明
说明
在 MQOPEN 或 MQCLOSE 调用上,指定的选项对于正在打开或关闭的对象或队列的类型无效。
对于 MQOPEN 调用,这包括以下情况:
- 不适合于对象类型的选项(例如,针对 MQOT_PROCESS 对象的 MQOO_OUTPUT)。
- 队列类型不支持的选项(例如,针对没有本地定义的远程队列的 MQOO_INQUIRE)。
- 以下一个或多个选项:
- MQOO_INPUT_AS_Q_DEF
- MQOO_INPUT_SHARED
- MQOO_INPUT_EXCLUSIVE
- MQOO_BROWSE
- MQOO_INQUIRE
- MQOO_SET
- 队列名称通过单元目录进行解析,或
- 对象描述符中的
ObjectQMgrName
指定远程队列的本地定义的名称(以指定队列管理器别名),并且定义的RemoteQMgrName
属性中命名的队列是本地队列管理器的名称。
对于 MQCLOSE 调用,这包括以下情况:
- MQCO_DELETE 或 MQCO_DELETE_PURGE 选项(当队列不是动态队列时)。
当正在打开的队列类型为 MQOT_NAMELIST、MQOT_PROCESS 或 MQOT_Q_MGR,但是 MQOD 中的 ObjectQMgrName
字段既不是空白也不是本地队列管理器的名称时,此原因码也可出现在 MQOPEN 调用上。