1

我能够使用具有 Java 中的用户 ID 和密码的 CCDT 文件连接到 TDE MQ。我无法在 Python 中做到这一点。

在 Python 中,我为 MQCHLLIB 和 MQCHLTAB 设置了环境变量,但是当我尝试使用 pymqi.connect 进行连接时,我得到 MQRC 2538。我的代码如下

import pymqi
import os

os.environ['MQCHLLIB']='/root/pythonmq/'
os.environ['MQCHLTAB']='APPTDECH.TAB'

queue_manager = 'QM_APP'
user = "******" 
password = "*****"

qmgr = pymqi.connect(queue_manager, pymqi.CD(),None, user, password )

print('Connected')

qmgr.disconnect()

例外是:

pymqi.MQMIError: MQI Error. Comp: 2, Reason 2538: FAILED: MQRC_HOST_NOT_AVAILABLE.

如果有人知道我怎样才能做到这一点,请告诉我。

4

1 回答 1

2

为了使用 CCDT,您必须使用pymqi.connect不指定频道内容的版本(例如pymqi.CD()),例如

qmgr = pymqi.connect(queue_manager)

但是,您没有任何参数可以将userandpassword放入。

简而言之,Python 接口没有你需要的所有组合。

IBM MQ 提供了一个名为的出口mqccred,它可以为您替换凭证,用于无法更改或在您的情况下无法传递用户标识和密码的应用程序。

延伸阅读

于 2018-10-19T10:31:45.757 回答