1

我正在尝试使用 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
4

1 回答 1

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)
于 2013-08-02T19:36:59.930 回答