3

Ibm mq を 64 ビット Windows マシンにロードする際に問題が発生しました。

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

私は得る

「ActiveX コンポーネントを作成できません。」

64 ビット マシンでは正常に動作し、32 ビット マシン OS では問題なく動作します。

私の質問は、上記のコードを 64 ビット OS で動作するように変更するにはどうすればよいですか?

4

1 に答える 1

4

Windows 7 64 ビットでは、そのコードは問題なく動作します。ただし、MQ v7.1 を使用しています。

MQAX200を使用したい特定の理由はありますか? このインターフェイスは長い間更新されていません。MQAX200 の代わりに、MQAX200 よりも最新で多くの機能を備えた MQ .NET インターフェイスを使用できます。

MQ .NET インターフェイスは「amqmdnet.dll」アセンブリで出荷され、MQ インストールの「bin」フォルダにあります。32 ビット アーキテクチャと 64 ビット アーキテクチャの両方で機能するアセンブリは 1 つだけです。プロジェクトで「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);
于 2012-12-20T02:22:52.410 に答える