Qプログラムに特定のファイル形式が必要だと思うのはなぜですか?ファイルによるとREADME.TXT
、次のオプションが利用可能です。
-f<filename>
Input file.
Each line of the file will be put to output queue as a different
message.
See "Z/OS FILE NAME FORMAT EXAMPLES" for specific z/OS details.
-F[+]<filename>
Input/output file.
Entire file will be put to the output queue as a single message.
If '+' is specified the dataset attributes will be retained if
the output dataset exists - z/OS only.
See "Z/OS FILE NAME FORMAT EXAMPLES" for specific z/OS details.
したがって、-F
(なしで+
)指定すると、XMLファイルのすべての行が単一のメッセージにロードされます。-a
パラメータを使用してメッセージオプションを指定することもできます。
-a<Opts> Sets message attributes when put to the output queue
n - forces non-persistence
p - forces persistence
q - uses queue default persistence
d - put a datagram message type
r - put a reply message type
R - put a request message type
t - put a report message type
x - don't treat lines starting with '#' as special
Qプログラムはデフォルトでファイルを解釈しますが、上記のオプションは、通常はコマンドとして解釈-ax
する行を無視するように指示していることに注意してください。#
これにより、コメント付きのXMLファイルやソースコード、さらにはPDFやJPGなどのバイナリファイルを読み込むことができます。
Qには、作業できない特定の制限がありましたか?もしそうなら、それが何であるかを知ることは役に立ちますので、私たちはあなたの目的によりよく合う何かをあなたに指摘するかもしれません。
アップデート
Spyroのコメントに応えて、Qは1000文字に制限されていません。これは、QディストリビューションのREADMEファイルが単一のメッセージに書き込まれ、読み戻される例です。
D:\WMQ\MA01>q -m JMSDEMO -OSYSTEM.DEFAULT.LOCAL.QUEUE -FREADME
MQSeries Q Program by Paul Clarke [ V6.0.0 Build:May 1 2012 ]
Connecting ...connected to 'JMSDEMO'.
D:\WMQ\MA01>echo dis q(SYSTEM.DEFAULT.LOCAL.QUEUE) curdepth | runmqsc JMSDEMO
5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED.
Starting MQSC for queue manager JMSDEMO.
1 : dis q(SYSTEM.DEFAULT.LOCAL.QUEUE) curdepth
AMQ8409: Display Queue details.
QUEUE(SYSTEM.DEFAULT.LOCAL.QUEUE) TYPE(QLOCAL)
CURDEPTH(1)
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
D:\WMQ\MA01>q -m JMSDEMO -dl -iSYSTEM.DEFAULT.LOCAL.QUEUE
MQSeries Q Program by Paul Clarke [ V6.0.0 Build:May 1 2012 ]
Connecting ...connected to 'JMSDEMO'.
MQGET 24309 bytes
============================================================================
Message Descriptor (MQMD)
Report :00000000
Message Type :8 (Datagram)
Format :'MQSTR '
Priority :0
Persistence :0 (Not Persistent)
Message Id :A M Q J M S D E M O . . . R . * .
414D51204A4D5344454D4F20202020201DDEA052200B2A02
'AMQ JMSDEMO ...R .*.'
ReplyToQ :' '
ReplyToQMgr :'JMSDEMO '
----------------------------------------------------------------------
| |
| |
| DESCRIPTIVE NAME WebSphere MQ Q Program |
| |
------- 8><-------------------------------------------------------------
REMAINDER OF MSG OUTPUT OMITTED FOR BREVITY. PRINT-OUT RESUMES...
------- 8><-------------------------------------------------------------
No more messages.
D:\WMQ\MA01>
メッセージが印刷されたヘッダー行に注意してください。この-dl
オプションは、メッセージの長さ(この場合は24309バイト)を出力するようにQに指示します。このテストを実行するために現在のバージョンをダウンロードしたので、これは2013年12月7日時点で正確です。