So-net無料ブログ作成
検索選択

Python からpyfirebirdsql で Firebird に接続する 2015 [Firebird]

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

昨年の Advent カレンダーと内容がかぶってしまいますがすみません
http://nakagami.blog.so-net.ne.jp/2014-12-08
http://nakagami.blog.so-net.ne.jp/2014-12-20

pyfirebirdsql https://pypi.python.org/pypi/firebirdsql/ は私がスクラッチから書いてメンテナンスしている pure python のFirebird データベースドライバーです。

Firebird の公式のデーターベースドライバーで FDB というものがあります。http://www.firebirdsql.org/en/devel-python-driver/ これは、 pure python ですが、ctypes モジュールから Firebird の shared library を呼び出す仕組みになっていて、別途 fbclient.so や fbclient.dll のインストールが必要です。
ちょっとインストールが面倒なためか、現状 pypi でのダウンロード数は pyfirebirdsql のほうが FDB より多くなっています。ただし、 pyfirebirdsql は TCP/IP による接続しかできませんので、embeded server を使いたい場合は FDB を使ってください。

pyfirebirdsql は python の 2.6, 2.7 および 3.3 以降で
$ pip install firebirdsql

でインストールできます。 pypy や Jython 2.7 や IronPython 2.7 でも動作します。
サンプルコード https://github.com/nakagami/pyfirebirdsql/#example

デフォルトの firebird.conf の設定で Firebird3.0 にも Firebird2.5 にも接続できます。
pyfirebirdsql の最新のバージョンは 0.9.12 で、昨年の 12/20 にリリースした 0.9.6 と比較すると

- Firebird3.0 の RC4 WireCrypto が有効な時、 PyCrypto がインストールされていればそれを使う(速い)インストールされてなければ pure python の実装を使います
- pyflakes でワーニングが出ないようにする(できるだけ)
- エラーメッセージを最新の Firebird 3.0 RC1 に合わせる
- Firebird 3.0 の時の認証パラメータの設定の仕方を変更
- 不具合修正(主に Firebird3.0関連)やソースコード整理

といったところが変わっています。
今のところ、機能的な追加の予定はなく、主に不具合修正を行っていく予定です。
Firebird1.5 や Interbase6.0 といった古いバージョンにも接続できるように気をつけているのですが、手元に検証環境がないので動作するかどうか不明です。もし、古いサーバーに接続できないなどありましたら github https://github.com/nakagami/pyfirebirdsql に issue をあげてください
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

コメント 0

コメントの受付は締め切りました

Facebook コメント

トラックバック 0

トラックバックの受付は締め切りました