テキスト・ファイルからの MQSC コマンドの実行
MQSC コマンドを対話式で実行する方法は、迅速にテストを行うのに適していますが、非常に長いコマンドや、繰り返し実行するコマンドの場合には、stdin
をテキスト・ファイルからリダイレクトする方法を検討してください。
stdin
をテキスト・ファイルからリダイレクトするには、先に一般的なテキスト・エディターを使用して MQSC コマンドの入ったテキスト・ファイルを作成してから、runmqsc コマンドを実行します。myprog.in
に含まれている一連のコマンドを実行します。
runmqsc < myprog.in
同様にして、出力をファイルにリダイレクトすることもできます。 入力用の MQSC コマンドが格納されているファイルを MQSC コマンド・ファイルと呼びます。 キュー・マネージャーからの応答が格納されている出力ファイルを出力ファイルと呼びます。
stdin
と stdout
の両方をリダイレクトするには、次の形式のコマンドを使用します。
runmqsc < myprog.in > myprog.out
このコマンドは、MQSC コマンド・ファイル myprog.in.
に含まれる MQSC コマンドを呼び出します。キュー・マネージャー名が指定されていないため、MQSC コマンドはデフォルトのキュー・マネージャーに対して実行されます。 出力はテキスト・ファイル myprog.out
に送られます。 図 1 は、MQSC コマンド・ファイル myprog.in
からの抽出を示しています。 図 2 は、 myprog.out
の出力の対応する抽出を示しています。
saturn.queue.manager
) に対して runmqsc コマンドで stdin
および stdout
をリダイレクトするには、次の形式のコマンドを使用します。
runmqsc saturn.queue.manager < myprog.in > myprog.out
MQSC コマンド・ファイル
IBM® MQ 環境間での移植性を考慮して、MQSC コマンド・ファイルの行の長さは 72 文字に制限してください。 正符号 (+) は、コマンドが次の行に続くことを示します。
MQSC コマンド・レポート
stdout
に送られます。 レポートには、次のものが含まれています。- MQSC コマンドをレポートのソースとして識別するヘッダー。
ここで、Starting MQSC for queue manager jupiter.queue.manager.
jupiter.queue.manager
はキュー・マネージャーの名前です。 - 発行された MQSC コマンドの番号付きリスト (任意)。 デフォルトでは、入力のテキストが出力にエコーされます。 この出力内では、 図 2に示すように、各コマンドの前にシーケンス番号が付きます。 ただし、 runmqsc コマンドで -e フラグを使用して、出力を抑止することができます。
- エラーのあったコマンドについての構文エラー・メッセージ。
- 各コマンドの実行結果を示すオペレーター・メッセージ。 例えば、DEFINE QLOCAL コマンドの正常終了を示すオペレーター・メッセージは、次のとおりです。
AMQ8006: IBM MQ queue created.
- スクリプト・ファイルの実行時の一般エラーのために出されるその他のメッセージ。
- 読み取られたコマンドの数、構文エラーのあったコマンドの数、処理できなかったコマンドの数を示す、レポートの簡単な統計の要約。注: キュー・マネージャーは、構文エラーのないコマンドのみを処理しようとします。
システムに提供された MQSC コマンド・ファイルを実行する
- amqscos0.tst
- サンプル・プログラムが使用するオブジェクトの定義
- amqscic0.tst
- CICS® トランザクションのキューの定義。
IBM MQ for Windowsでは、これらのファイルはディレクトリー
にあります。 MQ_INSTALLATION_PATH
\tools\mqsc\samplesMQ_INSTALLATION_PATH
は、 IBM MQ がインストールされている上位ディレクトリーを表します。
UNIX and Linux® システムでは、これらのファイルは
ディレクトリーにあります。 MQ_INSTALLATION_PATH
/sampMQ_INSTALLATION_PATH
は、 IBM MQ がインストールされている上位ディレクトリーを表します。
次のコマンドが実行されました。
runmqsc < amqscos0.tst >test.out
runmqsc を使用してコマンドを確認する
runmqsc -v < myprog.in > myprog.out
- コマンド・ファイルから多数のコマンドを実行する場合
- MQSC コマンド・ファイルを複数回繰り返して使用する場合
返されるレポートは、 図 2に示すようなものです。
runmqsc -w 30 -v jupiter.queue.manager < myprog.in > myprog.out
キュー・マネージャーがリモートであることを示すために使用する -w フラグは無視され、コマンドは検証モードでローカルで実行されます。 30 は、 IBM MQ がリモート・キュー・マネージャーからの応答を待機する秒数です。