【发布时间】:2019-03-23 19:10:48
【问题描述】:
我可以使用带有 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.
如果有人知道我该怎么做,请告诉我。
【问题讨论】:
-
让这个工作的唯一方法是使用
mqccredexit。 -
谢谢乔希!..你是对的。我做了改变,但得到了同样的错误。更新通道定义还有一个步骤。我正在努力。
-
你用的是哪个版本的pymqi?除非您在
mqccred.ini文件中指定Force=TRUE选项,否则即使最新版本 1.8.0 也无法使用mqccred退出。以下问题已修复,但尚未发布:The MQCSP structure is sent even if no user or password is passed to connectWithOptions #71 -
我使用的是pymqi 1.8版。我有值“Force = True”,但我仍然遇到同样的错误。正如下面的博客文章链接中所述,我想我需要更新 CLNTCONN 通道定义以具有 SCYEXIT('mqccred(ChlExit)') 属性。
-
这是正确的,如果没有在 CCDT 中或以编程方式指定它,您就不能使用客户端安全出口。您是否有理由要使用 CCDT 而不是直接通过 pymqi 连接调用指定连接详细信息?