pythonでODBCアクセス
PostgreSQLをODBC経由でアクセスする試験ができたので、コードさらし。
元になったソースは、Pythonで色々なデータベースを操作する。
テーブル定義やストアドプロシジャーは、元ソースをpsqlでポチポチ入力した。
元ソースを改変するにあたって、ドライバー名に何を指定するのかとか、関数の引数に?を使うあたりが判り難かった。
import pyodbc try: cnn = pyodbc.connect("DRIVER={PostgreSQL Unicode(x64)};SERVER=localhost;" + "dbname=postgres;UID=postgres;PWD=xxxxxxxx") cur = cnn.cursor() print("コミットの試験==========================") pref_cd = 100 pref_name = "モテモテ国" cur.execute("""INSERT INTO t01prefecture(PREF_CD, PREF_NAME) VALUES (?, ?)""" , pref_cd, pref_name) print("ユーザー定義==========================") cur.execute("""SELECT * FROM test_sp(?,?)""" , (from_id, to_id, )) rows = cur.fetchall() for row in rows: print("%d %s" % (row[0], row[1])) cur.close() cnn.close() except (pyodbc.Error) as e: print (e) print (e.args[1])