【问题标题】:MQCONN error 2540 Invalid Channel NameMQCONN 错误 2540 无效的通道名称
【发布时间】:2014-12-06 04:11:14
【问题描述】:

WebSphere 的 MQ 错误代码的 IBM 文档指出通道名称不正确。频道名称? MQCONN 的文档中没有任何地方提到通道名称。它要求提供队列管理器的名称,我已经这样做了,并且验证是正确的。

很容易将“通道”视为“队列”的同义词。但是在连接到特定队列之前,您必须先连接到队列管理器,这就是我遇到错误的地方。

在这种情况下,“渠道”是什么意思?

谢谢

【问题讨论】:

    标签: visual-c++ ibm-mq


    【解决方案1】:

    您正在以客户端模式连接(即网络连接),并且为了通过网络从您的应用程序连接到队列管理器,将有一些配置说明如何执行此操作。例如,IP 地址和端口号。除此之外,还会有一个频道名称。例如,您可能使用 MQSERVER 环境变量或客户端通道定义文件 (CCDT) 来执行此操作。如果设置了 MQCHLLIB 和 MQCHLTAB 环境变量,则它们指向正在使用的 CCDT。

    您将在此配置中找到通道名称,然后您必须查看队列管理器上是否定义了与客户端应用程序配置中名称相同的 TYPE(SVRCONN) 通道。

    要查看有关错误的更多详细信息,请查看客户端计算机和队列管理器上的 AMQERR01.LOG 文件。在那里,您将看到有关频道名称的更详细错误。

    【讨论】:

    • 这个应用程序是给我做一些改变的。为了让我测试更改,我必须将项目复制到远程 VM 并在那里运行它(因为只有那个 VM 可以访问服务器?)。在该 VM 上,有一个实用程序可以让我将文件注入队列。
    • 我成功将文件注入队列,但是当我运行应用程序时,它无法连接到队列管理器,错误代码 == 2,原因代码 == 2068。我被告知移动可执行文件到另一个网络路径。对 MQCONN() 的调用在该位置返回 2, 2540,即使我在同一个 VM 上运行它。
    • VM 上以“M”开头的环境变量看起来都与 MQ 相关联:MQCHLLIB(指向不同的项目)、MQCHLTAB(有一些 ASCII 文本,但对我不知道哪些数据可能在哪里)、MQ_FILE_PATH、MQ_JAVA_DATA_PATH 和 MQ_JAVA_INSTALL_PATH。这个问题可能没有实际意义(目前),因为测试我的更改的任务已重新分配给另一个在企业环境中具有更多经验的开发人员。不过,我不介意知道我是如何以及为什么出错的,因为我喜欢了解新事物。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    相关资源
    最近更新 更多