[PR]今日のニュースは
「Infoseek モバイル」


Interbase/FirebirdのPythonインターフェース・kinterbasdb

 kinterbasdbは、 ボーランドのRDBMS、Interbase とそれが一時期オープンソースだったことから派生した、 直系の子孫であるオープンソースRDBMS、 Firebird (SourceForge上のサイトはこちら) にPythonからアクセスするためのモジュールです。 Python Database API 2.0に準拠しているので、 基本的な書き方は他のDBモジュールとほとんど同じです。 Windows用にはバイナリ配布もありインストールはとても簡単。 さっそく使ってまいりましょう。

Windowsへのインストール
 次の環境で試しました。Firebird 1.0.0です。
プラットフォームkinterbasdbPython
MS-Windows XP Home Edition3.1pre22.1
MS-Windows XP Home Edition3.1pre22.2

バイナリ配布はインストーラを起動するだけなので、 特筆することは何もありません。(こらー!)

サンプルプログラム

import kinterbasdb

con = kinterbasdb.connect(dsn="localhost:c:/usr/dbms/fb/udb.gdb",
  user="urano", password="urano398", charset="SJIS")
# カーソルの作成
cur = con.cursor()
# SQL文で問い合わせを実行します。
s = "SELECT SHITEN_CODE, SHITEN_NAME, ADDRESS, EMPLOYEE_NUM FROM SHITEN"
cur.execute(s)

# 結果を1行ずつ取得
r = cur.fetchone()
while r != None:
  print "%-10s | %-10s | %-40s | %d" % r
  r = cur.fetchone()

# カーソルを閉じます。
cur.close()

# closeメソッドでデータベース接続を終了します。
con.close()
# end.

ということで、kinterbasdb.connect メソッド以外、サンプルも特筆することは何もありません。 dsn=パラメータには「ホスト名:GDBファイル名」の形式でGDBファイルのパスを指定します。 charset=パラメータは、ものの本ならぬもののサイトには 「Shift_JIS」と書いているのもありますが、 私が試すとエラーになってしまいました。「SJIS」だとうまくいきました。

セクションのサブメニューに戻る
(first uploaded 2003/01/27 last updated (not ever))