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 するパッケージが違うだけで、上記どのパッケージでも同じ感じで使えます
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