InterBaseをベースに開発されているオープンソースなDBMS。
http://firebird.sourceforge.net/
http://japan.internet.com/linuxtutorial/20020405/1.html
Downloadddddd
インストールの順番
アダプタにも寄りますが、一般に、上記のダウンロードの順番通りになります。
- RDBMS (FireBird1.0) のインストール
これにより、アダプタ側で必要とするライブラリの準備が出来ます。
- mx python module(egenix-mx-base-2.0.3.tar.gz) のインストール
kinterbasdb、kinterbasdbDAが必要とするモジュールです。
- DB python module (kinterbasdb-3.0) のインストール
ZFireBirdDA、kinterbasdbDA、Zope Interbase Storage等が必要とするモジュールです。
- Zope DB Adapter(お好みのもの一つを選んで導入下さい。)
- ZFireBirdDA0.0.3 (CVS)
ピュアPythonバージョンのみです。コンパイルは不要です。その代わり、kinterbasdbとmx python module(egenix-mx-base-2.0.3.tar.gz) のインストールが必須です。
- kinterbasdbDA.1.0 (Stable)
その名の通り、kinterbasdbとmx python module(egenix-mx-base-2.0.3.tar.gz) のインストールが必須です。作者は、バージョンを1.0とし、安定化宣言しています。但し、歴史は浅いです。
- gvibDA
Win版はgvibDA に従いインストールします。Linuxでは、コンパイルに当たりPatchを当てる必要があります。このアダプタが一番歴史があります。Win版は今でもサポートがある様ですか、Linuxは長らく無くInterBASE/FireBirdユーザはみんな困っていました。
ML zope-db
- 2002/08/05 koyoshi - 何故か今、InterBASE/FireBirdとZopeの中が熱くなっている。つい最近迄、Linux用のDBAリリースが途絶えていたが、新顔のDBAが3つも、競う様にバージョンアップが続いている。さて、どれが良いのだろうか? それが今の悩み。素直に喜ぼう!!
- 2002/08/30 koyoshi - インストールの順番が分かり辛いとのことで、それを追加しました。個別分とWin用はどうしよう^^;;
- 2002/12/06 quagear - kInterbasedbDA-1.0はそのままではキャラクターセットが指定できません。他に方法があるかもしれませんが安直に下記修正を加えるとプロパテイー項目のConnection Stringの4番目のパラメータ(SJIS_0208・EUCJ_0208・・・)としてキャラクターセットを指定できるようになります。Zope-DB-APIに準拠しているかどうかはわかりません。自己責任でどうぞ・・・
Products/kInterbaseDA/db.py
128行目 db, usr, passw, letter = string.split(connection_string)
~~~~~~~~
131行目 self.connection = kinterbasdb.connect(dsn=db, user=usr, password=passw, charset=letter)
~~~~~~~~~~~~~~~~
2002/12/07 2003/01/07 kiyo - quagearさん有難う。オミソレシマシタ。winからLinuxへデータベースを移動する際にODBCを使って移動したり、単純にSQLを出力させ、それをnkf等でSJIS→EUC_JP変換等やっておりましたが、FirebirdとkInterbaseDAを使えばWinからコピペだけで終わります。うーんラッキー
2002/12/08 2003/01/08 kiyo - 皆さんにお世話になりっぱなしですので、dbutileなる物を、公開したいと思います。 http://fzug.com/ で表示される「Fzug配布物」内の「WINのDBをLinuxのFirebirdへ」に、その内訳を書いておきます。駄作ですが、一応動いてますのでよかったらどうぞ!
- 2003/1/9 quagear - たわいもない、TIPSですがお役に立ててうれしいです。「Fzug配布物」拝見しました。是非試させて頂きます。
- 2003/01/09 kiyo - 有難うございます。いくつかバグがありますのでよろしく。2001年に作成したので、ほとんどソース忘れてます(苦笑 正月ボケで↑日付間違ってました。(苦笑2乗
- 2003/01/15 kiyo - LinuxPC?に、Firebirdのキャクターセットで読み込める。この事に間違いはないようです。が、EUCJ_0208,SJIS_0208等で接続した物に、インサートすると途端に接続エラーになります。で、キャクターセットでNoneに設定し直すと、正常に読めます。だけど、Linuxでインサートした物以外文字化けするようです。Windoes Zopeでの限定品みたいですねぇ。(泣;; めげずに、別の方法を模索しました。ここで書く内容ではないかも知れませんが、報告まで。ポスグレのODBC日本語版を使えば制限はありますが、なんとかいけそうです。http://fzug.com/ 「Fzug配布物」内の「WINのDBをLinuxのポスグレへ」に内容書きました。
- 2003/1/15 quagear - 実際にインサートするという使い方をしてませんでしたから、気が付きませんでしたが、試してみたところ私の環境では問題なくインサートできました。
ご存じかとは思いますが、Firebirdに設定するキャラクターセットはZopeが使用するキャラクターセットと一致していなければなりません。この場合、GDBファイルに使用されているキャラクターセットは何であってもかまわないはずです。Zope-usersにスクリプトを流して頂ければ詳しい方より回答が得られるかも知れません。
- 2003/1/15 nakaj - 憶測ですが、DB,Tableにcharsetはされてますでしょうか?
charsetをしていないとnoneのままデータが格納されるので書かれているようなエラーに良く私はひっかかりました。
create database "**:/hoge/hoge.gdb" default character set eucj_0208
とか、
create table table1( field1 varchar(255) character set eucj_0208
とかしてinsertしてもだめでしょうか?
もう試行済みでしたらごめんなさい、です。
- 2003/1/15 - kiyo - quagearさん - nakajさん 色々有難うございます。Firebirdの存在を知らず、openinterbase6.01を入れていました。このopeninterbase6.01は、キャラクターセットにエラーがある事は以前から報告されていました。その後Firebirdの存在を知りインストールし直したのですが、以前いれたInterbaseと同名のフォルダー名になっていますが、まだ何か以前のinterbase6.01が悪さをしてるのでしょうか?それ以外に思い当たりません。新しいWin2kに入れ直して検証してみます。
- 2003/1/16 quagear - 文字長がオーバーフローしているようなことは有りませんか?
kiyo さんの環境の詳細とエラーの内容をZope-usersに流して下さいませんか?
- 2003/1/16 quagear - kInterbasedbDAはトランザクションの制御が出来ませんから、更新系にはおすすめできません。やったことはありませんがPythonパッケージのkInterbasedbはそれができますのでExternalMethodを使用してPythonで記述するがよろしいかも知れません。
《 ソースの _kInterbasedb.c を読まないと今一つ解りませんが(^^; 》