Ibm mq を 64 ビット Windows マシンにロードする際に問題が発生しました。
Dim objMQ As Object
objMQ=CreateObject("MQAX200.MQSession")
私は得る
「ActiveX コンポーネントを作成できません。」
64 ビット マシンでは正常に動作し、32 ビット マシン OS では問題なく動作します。
私の質問は、上記のコードを 64 ビット OS で動作するように変更するにはどうすればよいですか?
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);