Python3 で ibm-db を使って
DB2/400データ・ベースを表示するサンプルを紹介する。
_
[ SAMPLE.PY ]
/SAMPLE/SAMPLY.PY
import ibm_db
conn = ibm_db.connect("", None, None)
stmt = ibm_db.exec_immediate(conn, "SELECT * FROM QTRFIL.SHOHIN")
row = ibm_db.fetch_tuple(stmt)
while row:
print(row)
row = ibm_db.fetch_tuple(stmt)
ibm_db.close(conn)
[実行]
CALL QP2TERM + [実行]で PASE環境を起動して
python3 /SAMPLE/SAMPLE.PY
を実行する。
[実行結果]
('SC-CH150 ', ' 超ミニ・コンポ ', '70000', '0003')
('SC-CH505 ', ' パーソナル・ミニコンポ ', '100000', '0003')
('SC-CH655 ', ' ロングプレイ・コンポ ', '129000', '0003')
('SC-CH950 ', ' ドルビー・ミニコンポ ', '162000', '0003')
('SF-SDCD ', 'FFFFFAABBCCDD ', '19800', '0009')
('TH-19VS30 ', ' コンパクトTVBS19 ', '120000', '0001')
('TH-21VS30 ', ' コンパクトTVBS21 ', '128000', '0001')
('TH-25GF10 ', ' 衛星放送内蔵TV25 ', '168000', '0001')
('TH-25GV10 ', ' ビデオ内蔵型TV25 ', '255000', '0001')
('TH-25VS30 ', ' コンパクトTVBS25 ', '11300', '0001')
('TH-29GF10 ', ' カラーTV画王BS29 ', '220000', '0001')
('TH-29GV10 ', ' ビデオ内蔵型TV29 ', '280000', '0001')
('TH-33VS35 ', ' カラーTV画王BS33 ', '350000', '0001')
$
[解説]
実用的にはこのようにPASE環境での出力結果を表示しても
あまり意味はないのだが Python3をとにかく体験するための
サンプルである。
"SELECT * FROM QTRFIL.SHOHIN"
というPythonに埋め込まれたSQLのSELECT文を実際のユーザーの
データ・ベース名を指定して表示すれば、なるほどと体感できるはずである。
㈱オフィスクアトロではユーザーでも体感してもらえるように
実地セミナーの開催を検討している。

今までの技術セミナーでは㈱オフィスクアトロの講師が
説明するだけであったがユーザー自身が実際に自分の5250エミュレータを
操作してPythonによって自分の会社のデータ・ベースを表示できることを
体験するセミナーである。
何事も聞いているよりは実際に自分で体験するほうが
実感して理解が深まるものである。
特に新しい技術は自分で操作して体感したほうが良い。
今後のIT業界の将来はPython抜きには語れない。
IBM iもPythonで開発する時代がもうすぐそこにやってきている。
次の技術情報セミナーでぜひPythonを体験して頂きたい。
_
