1

Python から QCMDEXC を使用して iSeries (AS/400) にコマンドを送信しようとしています。QGPL からメンバーを表示できるので、iSeries に接続できることはわかっています。

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 に答える