IBM MQ的问题与create object失败

时间:2012-12-19 19:55:41

标签: .net vb.net activex ibm-mq

无法使用Ibm mq将其加载到64位Windows机器中。

Dim objMQ As Object
objMQ=CreateObject("MQAX200.MQSession")

我得到了

  

“无法创建ActiveX组件。”

在64位计算机中,它在32位计算机操作系统中运行良好。

我的问题是我如何改变上面的代码才能在64位操作系统中工作?

1 个答案:

答案 0 :(得分:4)

在Windows 7 64位上,这段代码对我来说很好。我正在使用MQ v7.1。

您是否有特定原因要使用MQAX200?很长一段时间没有这个界面的更新。您可以使用MQ .NET接口代替MQAX200,该接口更新,并且具有比MQAX200更多的功能。

MQ .NET接口在“amqmdnet.dll”程序集中提供,可以在MQ安装的“bin”文件夹中找到。只有一个程序集适用于32位和64位架构。您只需在项目中引用“amqmdnet”即可。 “\ tools \ dotnet \ samples \ cs \ base”文件夹下还有一些样本。

编辑:示例代码:

            properties = new Hashtable();
            properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);
            properties.Add(MQC.HOST_NAME_PROPERTY, hostName);
            properties.Add(MQC.PORT_PROPERTY, port);
            properties.Add(MQC.CHANNEL_PROPERTY, channelName);

            MQQueueManager queueManager = new MQQueueManager (queueManagerName,
                                                              properties);
            queue = queueManager.AccessQueue(queueName, 
                                       MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING);