1

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

IBM 链接

说 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:上面具有相同参数的行在 7.5 mq 客户端中工作正常,但在 6x 时失败(例如:安装 6.0.2.5 mq 客户端,我已经完成了“典型”安装(完全安装 6x mq 客户端)。

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

4

1 回答 1

5

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

于 2013-04-04T16:54:47.817 回答