使用userid和密码连接到pymqi的mq系列队列

时间:2014-11-27 06:57:05

标签: python ibm-mq

我正在尝试使用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恰好是尝试将消息放入队列的进程的会话用户

1 个答案:

答案 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。