如何通过TCL脚本将大型消息放入webspheremq队列?
我试图通过TCL脚本将一个大文件放到WebSphereMQ队列中。以下是我目前的情况:如何通过TCL脚本将大型消息放入webspheremq队列?,tcl,ibm-mq,Tcl,Ibm Mq,我试图通过TCL脚本将一个大文件放到WebSphereMQ队列中。以下是我目前的情况: exec sh -c "echo $msg | qmqsput targetQueue queueManager 但是,我遇到了以下错误: Couldn't execute "sh": argument list too long 无法执行“sh”:参数列表太长 我的消息非常大,并且大于最大参数长度。如何解决此问题?您可以先将消息写入文件 set fn tmsg[pid].txt set fh [open
exec sh -c "echo $msg | qmqsput targetQueue queueManager
但是,我遇到了以下错误:
Couldn't execute "sh": argument list too long
无法执行“sh”:参数列表太长
我的消息非常大,并且大于最大参数长度。如何解决此问题?您可以先将消息写入文件
set fn tmsg[pid].txt
set fh [open $fn w]
puts $fh $msg
close $fh
exec sh -c "cat $fn | qmqsput ..."
catch { file delete $fn }
您可以先将消息写入文件
set fn tmsg[pid].txt
set fh [open $fn w]
puts $fh $msg
close $fh
exec sh -c "cat $fn | qmqsput ..."
catch { file delete $fn }
没有必要通过sh,所以请尝试以下方法:
exec qmqsput targetQueue queueManager << $msg
exec qmqsput targetQueue queueManager无需通过sh,因此只需尝试以下操作:
exec qmqsput targetQueue queueManager << $msg
exec qmqsput targetQueue queueManager肯定是这里的最佳选项。如果这解决了您的问题,请接受答案。肯定是这里的最佳选项。如果这解决了您的问题,请接受答案。