1

私の問題は、MQ サーバーを実行しているサーバーと、前者から MQ メッセージを取得する実行中のサービスの 2 つのサーバーがあることです。簡単に聞こえるかもしれませんが、後者を最初のサーバーのキューマネージャーに接続することはできません。次のアクションを試しました。

  1. 2 番目のサーバーから最初のサーバーに ping を実行します。問題なく動作します
  2. 最初のサーバーで MQ Manager に接続するために使用される特定のポート (1416) を使用して、2 番目のサーバーから最初のサーバーに Telnet で接続します。
  3. ここで奇妙な部分が発生します。接続する最初のサーバーの MQ マネージャーと同じ名前で、2 番目のサーバー (そのマシンで実行されている MQ サーバーもあります) に 1 つのキュー マネージャーを作成しました。このキューにのみ接続しますが、ChannelInfo では、2 番目のサーバーではなく、最初のサーバーの IP アドレスを正確に指定します。
  4. 2 番目のサーバーで MQ Manager を削除した後、エラー 2058: MQRC_Q_MGR_NAME_ERROR が表示されます。最初のサーバーで MQ Mananer の名前を確認したところ、正しいものでした。
  5. 他のサーバーから最初のサーバーの MQ Manager に接続できます。

それが私の問題の原因であると私が疑う詳細情報: Windows 32 ビットを実行している最初のサーバーと Windows 64 ビットを実行している 2 番目のサーバー。さらに、2 つ目は新規インストールされているため、何らかの権限に問題がある可能性があると思います。しかし、今のところ検索しても役に立ちませんでした。

ここで誰かが私の問題に光を当てることができれば、本当に感謝しています。私のプロジェクトの締め切りはすでに 1 週​​間遅れています。

前もって感謝します!

4

1 に答える 1

0

いいえ、エラーは 32/64 ビット Windows プラットフォームが原因ではありません。

32 ビットと 64 ビットの両方の Windows プラットフォームで、キュー マネージャーは 32 ビット プロセスとして実行されます。

それは問題ではありません。

最初のサーバーで確認すべき明らかなこと:

  1. キュー・マネージャーがポート 1416 でリッスンするようにリスナーを定義しましたか? はいの場合、それは実行されていますか?

  2. キュー・マネージャーでサーバー接続 (SVRCONN) チャネルを定義しましたか?

  3. サービス (2 番目のサーバーで実行されている) はどのようにキュー マネージャーに接続しようとしますか? バインディングですか、それともクライアントモードですか? バインディング・モードでは、アプリケーションは同じマシンで実行されているキュー・マネージャーにのみ接続できます。クライアント・モードでは、アプリケーションは同じマシンまたは別のマシンで実行されているキュー・マネージャーに接続できます。サービスは、クライアント モード接続を使用してリモート マシンに接続する必要があります。

リモート・キュー・マネージャーに接続するには、アプリケーションでホスト名、ポート、およびチャネル名を指定する必要があります。

于 2013-05-07T09:43:30.197 に答える