【问题标题】:MQ error 2085 while connecting with remote queue连接远程队列时出现 MQ 错误 2085
【发布时间】:2017-12-18 05:39:45
【问题描述】:

我的 .NET 代码可以成功连接并将消息放入远程队列。但是,相同的代码不适用于本地队列。它抛出 2085 错误。应该在代码中设置哪些不同的设置以使其与本地队列一起使用?

这是我的代码:

Hashtable queueProperties = new Hashtable();
queueProperties[MQC.HOST_NAME_PROPERTY] = "10.x.x.x";
queueProperties[MQC.PORT_PROPERTY] = 1451;
queueProperties[MQC.CHANNEL_PROPERTY] = "TST1.TRADE.CHANNEL";

try
{
    // Attempt the connection
    queueManager = new MQQueueManager("MYQUEUEMANAGER", queueProperties);
    strReturn = "Connected Successfully";
}
catch (MQException mexc)
{
    // TODO: Setup other exception handling
    throw new Exception(mexc.Message
               + " ReasonCode: " + mexc.ReasonCode
               + "\n" + GetReason(mexc.ReasonCode), mexc);
}

这里的代码在内部使用 IIS 用户 ID(应用程序池用户)与 MQ 连接,因为此代码作为 WCF 服务的一部分运行。

【问题讨论】:

    标签: c# ibm-mq


    【解决方案1】:

    如果您运行mqrc 实用程序,您可以找出错误代码的含义:

    $mqrc 2085
    
          2085  0x00000825  MQRC_UNKNOWN_OBJECT_NAME
    

    这意味着您尝试打开的队列名称在您连接的队列管理器上不存在。

    我注意到您发布的来源不包含任何与打开队列相关的代码。您应该检查您尝试打开的队列名称是否确实存在于您要连接的队列管理器上。

    【讨论】:

    • 其他团队发现MQ Server端队列名拼写错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 2017-12-20
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2020-04-23
    • 2013-04-06
    相关资源
    最近更新 更多