SSブログ

Python から Firebird を使う [Firebird]

これは、 Firebird Advent Calendar 2014 の8日目の記事です
http://qiita.com/advent-calendar/2014/firebird

【はじめに】

Python から RDBMS にアクセスするための仕様が PEP249 として定義されています。
https://www.python.org/dev/peps/pep-0249/
PEP249 に準拠した Firebird のデータベースドライバーについて書きたいと思います。


【Firebird 用 データーベースドライバー】

Firebird に以下のようなデーターベース・ドライバーが存在します。

[KInterbasDB(obsoleted)]
http://www.firebirdsql.org/en/python-driver/
古くから存在していますが、 Author が亡くなって引き継ぐ人がいないためPython2.7 まででしか動作しません。
C拡張を使っているため、速度は速いと想像できますが、今後メンテナンスされることはなさそうなのでお勧めしません。
久しぶりに調べましたが pypi にも登録されていないようです


[FDB]
https://pypi.python.org/pypi/fdb/
現在の Firebird プロジェクト公式の database driver です。
パッケージは pip install fdb でインストールできますが、
ctypes を使ってクライアントライブラリを呼び出しているので、ほかに
fbclient.so(Windows の場合は fbclient.dll)が必要になります

fbclient.so (fbclinet.dll) のインストールは、例えば、 Ubuntu であれば

$ sudo apt-get install libfbclient2

でもインストールできると思いますが、
クライアントマシンにFirebird サーバーをインストールしてしまうのが簡単だと思います

[pyfirebirdsql]
https://pypi.python.org/pypi/firebirdsql/
Python だけで書かれた(pure python)実装です

$ pip install firebirdsql

でインストールできます。
結果セットのデータサイズが非常に大きいと、上記2つのドライバーより遅くなると思います。


【使い方】
簡単な例は https://github.com/nakagami/pyfirebirdsql/#example にあります
import するパッケージが違うだけで、上記どのパッケージでも同じ感じで使えます

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント

トラックバック 0