将ibm mq客户端连接到较低版本的问题

时间:2013-04-04 16:36:08

标签: c# .net websphere ibm-mq

我通过.net使用7x(7.5 mq客户端amqmdnet.dll)并使用MQPutMessageOptionsMQGetMessageOptions,此代码适用于mq 7.5 ibm客户端,但是

IBM link

说7x mq客户端将向后兼容6x,当我尝试连接时,我收到此错误(我在Windows 7 64位操作系统中)。

System.TypeInitializationException: The type initializer for 'IBM.WMQ.MQQueueManager' threw an exception. ---> System.TypeInitializationException: The type initializer for 'IBM.WMQ.CommonServices' threw an exception. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at IBM.WMQ.CommonServices..cctor()
   --- End of inner exception stack trace ---
   at IBM.WMQ.CommonServices.TraceEnabled()
   at IBM.WMQ.MQBase..ctor()
   at IBM.WMQ.Nmqi.NmqiEnvironment..ctor(NmqiPropertyHandler nmqiPropertyHandler)
   at IBM.WMQ.Nmqi.NmqiFactory.GetInstance(NmqiPropertyHandler properties)
   at IBM.WMQ.MQQueueManager..cctor()

抛出上述错误的行是:

MQQueueManager  mqQMgr = new MQQueueManager("My queue manager" , "my channel name" ,"my connection name");
PS:上面一行有相同的params在7.5 mq客户端工作正常,但在6x时失败(对于ex:6.0.2.5 mq客户端安装,我做了'典型'安装(完全安装6x mq客户端) )。

知道如何使其与6.0.2.5一起使用吗?

1 个答案:

答案 0 :(得分:5)

是的,该链接是正确的。如果您安装了MQ v7.5客户端,那么该链接的含义是,您将能够使用在远程计算机上运行的MQ v6.0队列管理器。但你正在尝试的似乎是不同的。您似乎已使用MQ v7.5客户端编译了应用程序,但尝试在MQ v6.0.x客户端上运行它。这不起作用。