1

私は AS400 を初めて使用し、行き詰まっています。ドキュメントを読みましたが、必要なものが見つかりません。AS400 サーバーへの odbc 接続があります。このコマンドを実行すると、必要なものがすべて含まれた Outfile が取得されます。

CALL QSYS.QCMDEXC('DSPUSRPRF USRPRF(*ALL) OUTPUT(*OUTFILE) OUTFILE(CHHFLE/TEST3)', 0000000061.00000)

結果を出力ファイルに送る代わりに、odbc 経由で接続しているスクリプトにこのコマンドの結果を受け取る必要があります。「OUTPUT(*OUTFILE)」を「OUTPUT(*)」に変更すると、「fetchall()」を試行しても結果が得られません。スクリプトへの odbc 接続を介してこの情報を取得する方法はありますか?

編集:私は pyodbc を使用して接続する python スクリプトで、Linux サーバーにいます。この接続を使用して SQL クエリを正常に実行できますが、コマンドの結果を何らかのレコード セットとして取得する方法がわかりません。

4

2 に答える 2

1

あなたが尋ねていることを正しく解釈していることを願っています。ユーザー プロファイル データにアクセスしてファイルにダンプしているようです。そのファイルの内容を、Windows で実行されているスクリプトまたは何かで使用したいようです。そうだとすれば:

一般に、ODBC と VBScript、または .NET のいずれを介して Windows の世界からファイルのデータにアクセスする場合でも、AS/400 はデータベースのように扱われます。ライブラリ内のすべてのファイルは、組み込みの DB2 データベースを介して公開されます。すべて自動で、Universal DB2 データベースの一部です。

したがって、このファイルを作成すると、ライブラリ CHHFLE に TEST3 という名前のファイルが作成されます。

接続を作成し、次の SQL ステートメントを実行して内容を読み取ります。

Select * From CHHFLE.TEST3

もちろん、これは、これにアクセスするための適切な権限があることを前提としています。これは、iSeries ナビゲーター ツールを使用してテストできるはずです。このツールには、スクリプトで実行する前に、データベースに対して SQL スクリプトを実行する機能が含まれています。

上記のコメントを読んだ後に追加

Python から DB2 への接続に関するこの質問に情報があります。お役に立てば幸いです。

于 2012-05-11T16:29:55.230 に答える