我正在尝试使用pymqi连接到mq系列队列。队列配置了用户和密码访问权限。我正在尝试将用户/密码传递给队列填充pymqi.cd()字段UserIdentifier和Password,但每次我尝试将消息放入队列时我都会收到此错误
(MQI Error. Comp: 2, Reason 2035: FAILD: MQRC_NOT_AUTHORIZED)
是否可以使用带有pymqi的用户ID /密码连接到队列?
报告的错误类似于:
11.52.24 STC01966 ICH408I USER(Uxxxxx) GROUP(MMMMM ) NAME(NNNN NNNN N
806 CHAN1.EXAMPLE.QUEUE CL(MQQUEUE )
806 INSUFFICIENT ACCESS AUTHORITY
806 FROM CHAN1.EXAMPLE.* (G)
806 ACCESS INTENT(UPDATE ) ACCESS ALLOWED(NONE )
其中UXXXXX恰好是尝试将消息放入队列的进程的会话用户
答案 0 :(得分:2)
由于您无权执行您要执行的操作,因此您的应用程序会收到2035 (MQRC_NOT_AUTHORIZED)
错误。 RACF在您的z / OS队列管理器上报告的错误表明您尝试打开一个名为CHAN1.EXAMPLE.QUEUE
的队列,以便您可以将消息发送给它,但您无权访问该队列。实际上,您无法访问配置文件CHAN1.EXAMPLE.*
所涵盖的任何队列。您需要使用以下命令允许UPDATE
访问该配置文件: -
PERMIT CHAN1.EXAMPLE.* CLASS(MQQUEUE) ID(Uxxxxx) ACCESS(UPDATE)
这不是因为您的用户ID和密码。如果您使用的是MQ V8,则仅在连接的队列管理器端检查用户ID和密码,或者如果您之前指示,则仅在使用安全出口时检查用户ID和密码。
另外,你说你的队列管理器是在V7.5,但由于它在z / OS上,所以它不可能,因此我认为它是V7.1。