Firebird3.0でEmbedded試してみた
昨日(4月19日)、Firebird3.0(以下FB3)が正式にReleaseされました。
せっかくなので、FB3でのEmbedded接続を試してみました。
C#です。
目次
今回試した環境
FB2.5からの大きな変更点
これまでWindows版ではEmbedded用のパッケージが別に用意されていましたが、
FB3からは一緒になったようです。
キムラデービーブログさんに詳しくあるので、そちらを参照してください。
Firebirdのバイナリを取得
www.firebirdsql.org
上記から、目的のプラットフォームに合わせて取得。
必要なDLLをコピー
今回必要なものを以下の2つ。
* fbclient.dll
* plugins/engine12.dll
最終的に、以下のようなフォルダ階層になればOK。
ソースコード
プロジェクトのプラットフォームターゲットの変更に注意。
x86バイナリなら、x86に。x64ならそのように。
実行結果
rank や boolean型を使えていることが確認できます。
Hello Firebird 3.0!完了!
注意事項
.NET Data Provider
2016/4/20時点でNugetから取得した、FirebirdSql.Data.FirebirdClientは
FB3から対応したBoolean型の型変換できずエラーになります。
Window関数やその他DBの機能に関してはほとんど動きそうですが、
Boolean型を試したい場合は、素直にCloneして自前で構築しましょう。*1Firebird2.5で作成したDBについて
ODS(On-Disk Structure)が変更になっているため、上記の手順で参照するとエラーになります。
マイグレーションする必要があるようです。
ツールとかで両バージョン参照したいとかは一工夫(?)いりそうですね。。サポートライブラリ
上記手順では、サポートライブラリ*2入れてませんが、
入れておかないと、firebird.logに読み込み失敗ログが出ます。
ちゃんとした環境で使うときは入れて下さい。