如何使用QCMDEXC从Python发送iSeries命令

时间:2013-08-02 18:02:49

标签: python ibm-midrange

我正在尝试使用Python的QCMDEXC向iSeries(AS / 400)发送命令。我知道我可以连接到iSeries因为我可以显示来自QGPL的成员:

src.execute('select * from qgpl/bwusrprf')
for row in src:
    print (row)

我已经尝试了“CALL QCMDEXC”(如下所示)命令的所有语法组合,但没有成功。这甚至可能吗?这是发布QCMDEXC的正确方法吗?

Python代码:

src.execute(call qcmdexc('dspusrprf usrprf(*all) output(*outfile) outfile(qgpl/audusrprf)', 0000000061.00000)

=============================================== ======================================= 错误讯息:

src.execute(call qcmdexc('dspusrprf usrprf(*all) output(*outfile) outfile(qgpl/audusrprf)', 0000000061.00000)
                           ^
SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:3)

您可能需要围绕整个命令引用,如下所示:

src.execute("call qcmdexc parm('dspusrprf usrprf(*all) output(*outfile) outfile(qgpl/audusrprf)', 0000000061.00000)")

或者更好地将其声明为字符串:

parm = "dspusrprf usrprf(*all) output(*outfile) outfile(qgpl/audusrprf)"
cmd = "call qcmdexc parm('{0:s}', {1:016.5f})".format(parm, len(parm))
src.execute(cmd)