Firebird 関連のサイトでは黙殺状態の IBConsole ですが、すべてにおいて駄目な訳ではありません。IBConsole に対する誤った認識を正すために情報をまとめてみました。なお、ここでの発言は "FirebirdとIBConsoleの組み合わせ" に言及するものです。"Interbase + IBConsole" はオフィシャル版がありますので何ら問題はありません(ちょっと嘘ついてますが)。
2008/12/15 現在で確認が取れている IBConsole です。
| 種 類 | OS | 形 態 | バージョン | タイムスタンプ | 対 応 | 言 語 | コンパイラ | 特 徴 |
| Inprise版 IBConsole | Windows | Binary | 1.0.0.308 | (不明) | IB6.0x | 英語 | D5 | IB6で動作します。IB付属の 1.0.0.309がうまく動作しないために、暫定措置で旧バージョンが用意されたようです(キャッシュ但しDL不可)。 |
| オープンソース版 IB6.0(InterBase_WI-V6.0-server.ZIP) に付属 |
Windows | Binary | 1.0.0.309 | 2000/06/23 06:00:00 |
IB6.0x | 英語 | D5 | IB6に付属しているのにIB6では誤動作するようです。このIB6.0はすぐに消え、IB6.0.1に差し替えられました(リンク先は未だに残っていたミラーFTPです)。 |
| オープンソース版 IBConsole | Windows | Source | 1.0.0.309 | - | IB6.0x | 英語 | - | 私にはビルドできませんでした。これを含めた以前のバージョンはFirebird2.0においてあちこちでエラーが出るようです。 |
| 書籍「Firebird オープンソースデータベースの導入と運用の実際」 | Windows | Binary | 1.0.0.310 | 2002/11/06 10:00:00 | IB6.0x | 英語 | D5 | 日本語が通るようです。何故か付属のソースは1.0.0.337のようです。 |
| Inprise放出版 IB6.0.1(ib_server_6_0_1.zip)付属 | Windows | Binary | 1.0.0.315 | 2000/08/28 11:55:40 | IB6.0x | 英語 | D5 | グレーゾーンにあるIB6.0.1です。 |
| オープンソース版 IBConsole | Windows | Binary | 1.0.0.320 | 2000/10/02 11:23:54 | IB6.0x | 英語 | D5 | オープンソース版として公開されていますが、このバージョンのソースはDLできません。バイナリ配布のみです。 |
| オープンソース版 IB6.0.1 (InterBase_WI-V6.0.1-server.ZIP) に付属 |
Windows | Binary | 1.0.0.326 | 2001/01/05 12:41:56 | IB6.0x | 英語 | D5 | 単独で公開されているIBConsoleからバージョンが上がっています。何故? |
| 旧Twise Lab版 IBConsole | Windows | Source/ Binary |
1.0.0.327 | 2001/01/23 16:02:34 | IB6.0x?,FB | 日本語 | - | 私はこれの存在を知らなかった為に旧DEKO版を作ってしまいました。1.0.0.320からは複数の人間が独自に作業をしていたようです(同じバージョンで違う機能のIBConsoleが存在)。そしてこの327で統合され、SourceForgeで337 までメンテされたと思われます。 |
| Delphi 6/7に付属のIB6.0.1に付属/ IB6用IBConsoleの修正版 |
Windows | Binary | 1.0.1.335 Fix 01 |
2001/07/06 13:15:26 | IB6.0x | 日本語 | D5 | 多分、日本語版では一番メジャーな IBConsoleです。 |
| オープンソース版 IBConsole | Windows | Source | 1.0.0.336 | - | IB6.0x | 英語 | - | エディタ部にRichEditXが使われています。また、IBExtractがdcuで提供されており、Delphiのバージョンが変わるとコンパイルできません。今ではDLできないと思われます。 |
| 旧DEKO版 IBConsole | Windows | Binary | 1.0.0.336 | 2001/08/20 17:08:20 | IB6,FB | 日本語 | D5 | 上のオープンソース版 IBConsoleのソースが元になっています。 |
| オープンソース版 IBConsole | Windows/ Linux |
Source | 1.0.0.337/ Alfa2 |
- | IB6.x | 英語 | - | 現在入手できるソースでは最新のものです。エディタ部にSynEditが使われています。 ・Delphi5/6(Kylix/2) ・IBX x.04以前 ・SynEdit1.x でコンパイルする事が想定されているようです。 Kylix3でビルドしようとするとSynEdit1.xはマトモにインストールできません(少なくとも私には無理でした)。多少の改変を行えば ・Delphi6以降(Kylix3) ・SynEdit2.x でビルドできます。 |
| DEKO版 IBConsole | Windows | Binary | 1.0.0.337 | (リンク先参照) | IB6.x/7.x/2007/2009,FB | 日本語 | D2007/D2009 | 詳細はリンク先参照。 |
| DEKO版 IBConsole | Linux | Binary | Alfa 2 (1.0.0.337) |
(リンク先参照) | IB6.x,FB | 日本語 | K3 | 詳細はリンク先参照。 |
| IBConsole for Firebird 1.5 Twise Lab.Edition | Windows | Source/ Binary |
1.5.0.1J (1.0.0.337) |
2006/06/21 14:23:06 | IB6.x/7.x,FB | 日本語 | D2005 | SynEditを使う事からソースを1.0.0.337と判断していますが、1.0.0.337をビルドしたものとは多少挙動が異なるようです。日本語化/FB対応以外でも改変されたのでしょうか? |
| Borland Developer Network版 IBConsole | Windows | Binary | 1.0.0.339 | 2001/09/04 13:10:48 |
IB6.x | 英語 | D6 | ツリービューにインデックスが表示されるようになっています。これ以降、ツリービューに表示される項目が増えていきます。但し、開発者自身には不本意な改変のようです。また、テーブルのプロパティに表示される「インデックスの表示内容が変更になっています。以降、Firebirdに接続できても、Dialect1以外のDBでは何らかのエラーが起こる事が多いです。 |
| Borland Developer Network版 IBConsole | Linux | Binary | 1.0.0.339 Beta1 |
2001/09/05 02:09:45 |
IB6.x | 英語 | K2 | ツリービューにインデックスが表示されるようになっています。共有ライブラリが同梱されていません。セグメンテーションエラーが出て、起動させる事ができませんでした。 |
| 英語版Delphi7/BCB6に付属のIB6.5に付属 | Windows | Binary | 1.0.1.340 | (不明) | IB6.x | 英語 | D6 | IB6.5は海外でのみ発売されていたようです。 |
| 書籍「Firebird オープンソースデータベースの導入と運用の実際」/ Borland Developer Network版 IBConsole |
Linux | Binary | 1.0.343 Beta1 |
2002/01/30 03:18:05 | IB6.x,FB | 英語 |
K2 | セグメンテーションエラーが出て、起動させる事ができませんでした。 |
| 書籍「Firebird オープンソースデータベースの導入と運用の実際」/ Borland Developer Network版 IBConsole |
Windows | Binary | 1.0.1.344 | 2002/03/14 14:28:34 | IB6.x | 英語 |
D6 | |
| Borland Developer Network版 IBConsole | Linux | Binary | 1.1.0.13 | 2002/11/14 01:03:30 |
IB6.x/7(/7.1) | 英語 | K3 | ツールバーアイコンの色が抜けてます。 |
| Delphi 2005に付属のIB7.1 に付属 | Windows | Binary | 1.1.0.18 | 2004/08/13 08:01:00 | IB6.x/7(/7.1) | 日本語 | D7 | オリジナルはBorland Developer Network版のようです。 |
| IB7.5 for Delphi2005に付属 | Windows | Binary | 1.1.0.18 | 2004/11/30 00:05:33 |
IB6.x/7(/7.1) | 英語 | D7 | オリジナルはBorland Developer Network版のようです。リンク先のUpdate1/2/3等を選択すると、ポップアップウィンドウが出ますが、その下の方にあります。分かり難い所にあるので存在を知らないヒトも多いのではないでしょうか? |
| Borland Developer Network版 IBConsole | Windows | Binary | 1.1.0.27 | 2002/11/14 01:03:30 | IB6.x/7(/7.1) | 英語 | D7 | 最新版IBConsoleのベースとなっています。様々な操作をGUIで行えるように改変が行われています...が、そのためFirebirdで動かない所が多々あります。 |
| Borland Developer Network版 IBConsole | Linux | Binary | 1.1.0.28 | 2005/03/27 06:24:15 |
IB6.x/7(/7.1) | 英語 | K3 | ...書庫が壊れてませんか? |
| BDS 2006/ Turbo Delphiに付属のIB7.5(1)に付属 |
Windows | Binary | 7.5.0.26 | 2005/08/15 07:51:00 | IB6.x/7.x | 日本語 | D7 | オリジナルはNewsGroup版のようです。これまでとはバージョン表記が変わっているので比較が難しくなっています。このバージョンから多言語対応になったようですが、言語を選択する事はできません。同じIB7.5でも「 for Delphi2005」付属のIBConsoleは1.1.0.18です。IB7.5からは昔で言う"Local Interbase"を扱うためにランチャが必要なようです。 |
| IBConsole NewsGroup開発版 |
Linux | Binary |
7.5.1.0~
7.5.1.15
|
- | IB6.x/7.x | 英語 | K3 | IB7.51用IBConsoleです。 |
| IBConsole NewsGroup開発版 | Windows | Binary |
7.5.1.0~
7.5.1.16
|
- | IB6.x/7.x | 英語 | D7 | IB7.51用IBConsoleです。 日本版IDE/IBではお目にかかる事がありませんでした。 |
| Delphi 2007付属のIB2007に付属 | Windows | Binary | 8.0.0.27 |
2007/03/05
17:25:06
|
IB6.x/7.x/2007 | 英語 | D7 | 日本語にローカライズされていません。 残念ながらNG版そのもののようです。 つまり、そのままでは日本語が通りません。 |
| IB2007日本語版付属 | Windows | Binary | 8.0.0.27 |
2007/03/15
05:17:42
|
IB6.x/7.x/2007 | 日本語 | D7 | 日本語化されています。Delphi 2007をお使いの場合にはDeveloper EditionのDLを推奨します(DLには要IE)。 |
| InterBase SMP 2009 Hotfix Update 1 for Windows(英語版) 付属 | Windows | Binary | 9.0.0.226 |
2008/09/24
10:02:42
|
IB6.x/7.x/2007/2009 | 英語 | D2006 | |
| Interbase SMP 2009 Developer Edition(日本語版) 付属 | Windows | Binary | 不明 |
2008/10/16
10:37:00
|
IB6.x/7.x/2007/2009 | 日本語 | D2006 | バージョン情報が取得できません。9.0.0.227? |
| IBConsole NewsGroup開発版 (最新β) |
Linux | Binary | 8.0.0.0~ 9.0.0.227 |
- | IB6.x/7.x/2007/2009 | 英語 | K3 | オフィシャル版の元になっています。環境設定ファイルがxmlになっています。 |
| IBConsole NewsGroup開発版 (最新β) |
Windows | Binary | 8.0.0.0~ 9.0.0.227 |
- | IB6.x/7.x/2007/2009 | 英語 | D7/D2006 | オフィシャル版の元になっています。環境設定ファイルがxmlになっています。付属のgds32.dllを使わなければFirebirdに接続できます(Dialect1)。Interbase2007に対応、SQLウィンドウがかなり変化しています。 |
バージョン順に並べてみました。こうして並べてみると面白いですね。対応は使用されたであろう IBX からの推測です。IBX が対応していても、そのバージョンの機能を使っていない可能性があります。逆に、IBX が対応していなくても正常動作する事があります。IBX のバージョンが表示されない以上、 IBConsole のバージョンからは正確な対応IBを知ることはできない事になります。動くかどうかは実際に確認をしないといけない、という事ですね。但し、使用されたコンパイラは判明しています。Windows版は EXE をバイナリエディタで覗くとコンパイルに使われた Delphi のバージョン判別できます。Linux版は付属している共有ライブラリで判別できます。なお、最新βのコンパイラには Delphi 2006 が使われています。
1.0.x 系の IBConsole は Firebird でも普通に使えます。Interbase と Firebird が枝分かれしたのが "オープンソース版IB6.01" からで、Firebird 1.0.x は IB6 と完全互換だったはずです。
オープンソース版は最初のバージョンが 1.0.0.309、最後のバージョンが 1.0.0.337 となります。1.0.1.x というバージョンは Borland版 IBConsole と言えます。オープンソース版と区別するためにリリース番号(3つめの数値)を一つ上げたのでしょうか?
1.1.x/7.5.x系は IB7.x対応版です。8.x系はIB2007対応版です。9.x系はIB2009対応版です。
IB7xの "InterbaseDesktop(昔で言うローカルInterbase)" を使用している場合には IBConsole でローカル接続できません(7.5.1.16 で対応したような事は書いてありますが?)。ローカルで使いたい場合にはリモートのアドレスに "localhost" または "127.0.0.1" を入力してみて下さい。苦しい実装方法ですが、 ランチャを使う方法もあるようです。
これらを踏まえて各最新版をまとめてみたのが下の表になります。
| 最新版 | ソース最新版 | オフィシャル最新版 | オフィシャル最新版 (Firebird接続可能) |
NewsGroup最新版 | NewsGroup最新版 (Firebird接続可能) |
オープンソース版最新版 (Firebird対応) |
|||||
| プロダクト | オープンソース版 IBConsole |
Interbase SMP 2009 に付属 (Developer Edition含) |
Delphi 2005に付属の IB7.1に付属 |
IBConsole NewsGroup 開発版(最新β) |
BDN版 IBConsole |
BDN版 IBConsole |
DEKO版 IBConsole |
IBConsole for Firebird 1.5 Twise Lab.Edition |
|||
| OS | Windows | Linux | Windows | Windows | Windows | Linux | Windows | Linux | Windows | Linux | Windows |
| バージョン | 1.0.0.337 | Alfa2 | 9.0.0.227? | 1.1.0.18 | 9.0.0.227 | 9.0.0.227 | 1.1.0.27 | 1.1.0.28 | 1.0.0.337 | Alfa2 | 1.5.0.1J(1.0.0.337) |
| 対応 | IB6.x | IB6.x/7.x/2007/2009 | IB6.x/7/7.1 | IB6.x/7.x/2007/2009 | IB6.x/7.x | IB6.x,FB | IB6.x(/7.x),FB | ||||
| 言語 | 英語 | 日本語 | 日本語 | 英語 | 英語 | 日本語 | 日本語 | ||||
| 日付 | - |
2008/10/16
10:37:00
|
2004/08/13 08:01:00 |
- | - | 2002/11/14 01:03:30 |
2005/03/27 06:24:15 |
(リンク先参照) |
(リンク先参照) | 2006/06/21 14:23:06 |
|
| 環境設定 | レジストリ | conf | xml | レジストリ | xml | レジストリ | conf | レジストリ | conf | レジストリ | |
独自ビルドを行う場合には、そのビルド環境も重要です。Kylix と Delphi7 以前の IBX は IB6対応版なのですが、これ以降のコンパイラの IBX は IB7対応版となっています(Twise Lab版に IB7 と入れているのは Delphi2005 でコンパイルされているため)。もちろん、IBX のアップデータを適用した場合にはその限りではありませんが...。ちなみに、IBX のバージョンは IBXConst.pas の "IBX_Version" 定数で確認できます。なお、Delphi 2007/IB 2007付属 IBX の IBXConst.pasは ローカライズされていません。
| Delphi5 | Delphi6 | Delphi7 | Delphi2005 | BDS2006 | Turbo Delphi | Delphi 2007 | Delphi 2009 | |||||||||
| ver | 対応IB | ver | 対応IB | ver | 対応IB | ver | 対応IB | ver | 対応IB | ver | 対応IB | ver | 対応IB | ver | 対応IB | |
| デフォルト | 4.1(?) | 5.x/6.0x | 6.0 | 5.x/6.x | 6.0 | 5.x/6.x | 9.09 | 5.x/6.x/7.0x | 10.10 | 5.x/6.x/7.x | 10.10 | 5.x/6.x/7.x | 11.11 | 5.x/6.x/7.x/ 2007 |
12.12 | 5.x/6.x/7.x/ 2007/2009 |
| 最新DL | 5.04 (SP1必須) |
5.x/6.x | 6.11 | 5.x/6.x/7x/ 2007 |
7.11 | 5.x/6.x/7x/ 2007 |
9.11 | 5.x/6.x/7x/ 2007 |
10.11 | 5.x/6.x/7x/ 2007 |
10.11 | 5.x/6.x/7x/ 2007 |
- | - | - | - |
| 製品付属 (Trial含) |
5.0.9 (IB7.5付属) |
5.x/6.x/7.x | 6.11 (IB2007付属) |
5.x/6.x/7.x/ 2007 |
7.11 (IB2007付属) |
5.x/6.x/7.x/ 2007 |
9.11 (IB2007付属) |
5.x/6.x/7x/ 2007 |
10.11 (IB2007付属) |
5.x/6.x/7x/ 2007 |
10.11 (IB2007付属) |
5.x/6.x/7x/ 2007 |
- | - | - | - |
Delphi7 の IBX が 6.0 になっているのは、Delphi6 の IBX6.0 で日本語化した IBXConst.pas をそのままコピーしたからだと思われます(本当は7.03ではないかと...)。IBX は 5 以降、下2桁がバージョンになっています。実際、IBX5.04/6.04/7.04 は対象となるコンパイラが違うだけで、IBX としては同じもの(ver4)になります。
ディープな調査をした訳ではありませんが、IBX は明示的に機能を使わない限り IB6(≒Firebird1.0x) への下位互換性を保っています。
| バージョン | バージョン固有の機能 | 備考 |
| IB6.5専用 | (なし) | つまり、6.x対応。 |
| IB7.0専用 | isc_array_gen_sdl2 isc_array_get_slice2 isc_array_lookup_bounds2 isc_array_lookup_desc2 isc_array_put_slice2 isc_array_set_desc2 isc_blob_default_desc2 isc_blob_gen_bpb2 isc_blob_lookup_desc2 isc_blob_set_desc2 |
DLLの関数定義のみ。コンポーネントからは一切使われていない。 |
| IB7.1専用 | isc_release_savepoint isc_rollback_savepoint isc_start_savepoint |
DLLの関数定義のみ。コンポーネントからは一切使われていない。 |
| IB7.5専用 | TIBConfigService.ExecuteSQL(SQL : String); TIBSecurityService.ExecuteSQL(SQL: String); |
内部でDBのODSバージョンを確認している。ODSバージョンが11.2以下では動作しない。 |
| IB7.51専用 | (なし) | |
| IB2007専用 | isc_dsql_batch_execute_immed isc_dsql_batch_execute |
DLLの関数定義のみ。コンポーネントからは一切使われていない。 |
「IBXは将来においてFirebirdに接続できる保証がない」 と言われて、はや数年経ちますが、未だに問題は出ていません。"Delphi 2009 + IBX 12.12" で Firebird 2.1x に普通に接続できています。"保証がない" と言われればそれまでですが、将来に於いて永続的にサポートされる保証がないのは Firebird 対応を謳っているミドルウェアだって同じでしょう?
"他のミドルウェアをお勧め" なヒトが結構いますが、本当にそうでしょうか?少なくとも "Windows/Linux で動作するGUI管理ツールを作れるか?" という観点から見るとそうとばかりも言えません。
| ミドルウェア | 配布形態 | Linux(Kylix)対応 |
| Interbase Express(IBX) | Delphi/Kylix/IBに付属 | ○ |
| FIBPlus | 販売 | ○ |
| IBObject(IBO) | 販売 | ○ |
| Mercury Database Objects(MDO) | オープンソース | × |
Windows/Linux で同じように動作するGUI管理ツールを作るためには IBX 以外選択肢がない事が解ります。折角、管理ツールのソースコードを公開してもミドルウェアが有償なのでは敷居が高くなるだけです。それに将来、配布時のライセンスが変更にならないという保証はありません。Windows版だけでいいのならMDOがいいのでしょうが、LinuxのXで動作しない事を考えると魅力は半減です(Linuxのデスクトップ環境は年々良くなってきています)。管理ツールを作るのでなければ、上記以外のミドルウェアもあり、それこそ自由に選べるのですが...。
よほど特殊な事をしない限りは最新の Delphi/IBX で普通に Firebird へ接続できるハズです...「絶対」とは言い切れませんが。
IBConsole 自体の問題ではありませんが、Vista ではローカルプロトコルが動作しない事があります。この問題を回避するには2つの方法があります。
いずれかの方法で回避できるかもしれません。但し、どちらもパフォーマンスはあまりよくないようです。
Firebird 1.5系をお使いの場合、コントロールパネルにアプレットを登録すると、コントロールパネルを開いただけで Explorer が死ぬ事があります。このような症状に遭遇した場合は、一旦Firebirdをアンインストール("ファイル名を指定して実行"から"Appwiz.cpl"とすると直接"アプリケーション(プログラム)の追加と削除"を起動できます)し、再インストール時に Firebird アプレットをコントロールパネルに追加しないようにして下さい。
VistaではUACを無効にする必要があるかもしれません。
当方の環境では "Vista + FB1.5.4/2.0.1 + IBConsole(DEKO版)" でローカル接続できています。但し、ローカルサーバ接続時に必ず "fbserver.exe" が常駐してしまいます(「ローカルサーバーが起動していません。今すぐ起動しますか?」と尋ねられる事になります)。
ローカルサーバにこだわらないのであれば、リモートサーバ接続方式にして、リモートサーバに "127.0.0.1" や "localhost" 等のループバックアドレスを指定するのが簡単でいいと思われます。
See Also:
総合的に考えると、
| BACK |