メッセージをmqチャネルにロードしているときに直面する問題、以下のようなエラーの受信
MQOPEN ended with reason code 2001
unable to open queue for output
上記の問題をどのように解決できますか、親切に同じことについてアドバイスしてください
メッセージをmqチャネルにロードしているときに直面する問題、以下のようなエラーの受信
MQOPEN ended with reason code 2001
unable to open queue for output
上記の問題をどのように解決できますか、親切に同じことについてアドバイスしてください
戻りコードは次のように解決されます。
C:\>mqrc 2001
2001 0x000007d1 MQRC_ALIAS_BASE_Q_TYPE_ERROR
この戻りコードのInfocenterページには、以下の説明があります。
2001(07D1)(RC2001):MQRC_ALIAS_BASE_Q_TYPE_ERROR
説明
宛先として別名キューを指定してMQOPENまたはMQPUT1呼び出しが発行されましたが、別名キュー定義のBaseQNameは、ローカル・キュー、リモート・キューのローカル定義、またはクラスター・キューではないキューに解決されます。完了コード
*MQCC_FAILEDプログラマーの応答*
キュー定義を訂正してください。
つまり、アプリが開いているキューはエイリアスキューです。入力用に開いていて、ベースキューがローカルキューでない場合、このエラーが発生します。出力用に開いていて、ベースキューがローカルキュー、リモートキューのローカル定義、またはクラスターキューではない場合も、このエラーが発生します。
上記のエラーコードに記載されていないのは、エイリアスキューが送信キューを直接指している場合にも、このエラーが発生することです。その場合、必要なのはエイリアスではなくQRemoteです。