----------------------------------------------------------- Firebird 1.5 Embedded Server note ----------------------------------------------------------- 1. 一般的な情報 埋め込み型サーバーは十分に機能的なサーバーであり、動的ライブラリ(fbembed.dll)としてリンクされています。それは、まさに通常のサーバーと同じ特徴をもち、標準的なFireBirdのAPIエントリーポイントをエクスポートします。 2. 問題と制限 2.1.レジストリー FireBirdのレジストリ登録は無視されます。埋め込み型サーバーのルートディレクトリは、バイナリ・ファイル(ライブラリ)自身のディレクトリです。 2.2.データベース・アクセス 埋め込み型サーバーはローカルマシン上で真のローカルデータベースアクセスとして動作でき、またすべてのネットワークコールを別のホストへリダイレクトするリモートゲートウェイとしても動作できます(すなわちクライアント・ライブラリとして働く)。ローカル接続で使用する(ホスト名なしの)文字列で、ローカル・スタンドアロンのFireBirdサーバーに接続できないことに注意してください。 ローカルサーバと埋め込み型サーバは同じフォーマットの文字列を使用するため、ホスト名なしの文字列はIPC接続のみに適応されます。しかし、TCP/IPローカルホストループバック経由か、名前をつけられたパイプ・プロトコル経由でローカル・スタンドアロン型のサーバーへ接続することができます。 2.3.認証とセキュリティ セキュリティ・データベース(すなわちsecurity.fdb)は、埋め込み型サーバーでは使用されないため必要ありません。すべてのユーザーは、すべてのデータベースに接続することができます。サーバーおよびクライアントの両方が同じアドレス空間で実行されるので、セキュリティは、サーバーおよびクライアント双方において簡単に解決することができす。 しかし、SQL特権は今までどおり調べられることに注意してください。 2.4.互換性 多くのアプリケーションを衝突することなく埋め込み型サーバーで動かすことが出来ます。稼動中のIB/FBサーバーがあったとしても問題ありません。 しかし、多くの埋め込み型サーバーがSuperServerの構造を持つため、接続したデータベースを排他的にロックするので、ひとつのデータベースに同時にアクセスすることができないことに注意してください。 3. 使い方 あなたのアプリケーションのあるディレクトリにfbembed.dllをコピーするだけです。その際に、使用しているデータベース接続ソフト応じてfbclient.dllまたはgds32.dllのどちらかに名前を変更してください。 あなたのアプリケーションを動作させると、クライアント・ライブラリとして埋め込み型サーバーを使用し、ローカルデータベースにアクセスすることができるようになります。また、同じディレクトリーにfirebird.msgとfirebird.confを(必要なら)コピーした方がいいでしょう。 もし外部ライブラリがあなたのアプリケーションに必要ならば、別々にそれらをもつべきです。だいたいはINTLサポート(fbintl.dll)かUDFライブラリでしょう。それらを使用するために、埋め込み型サーバーのあるディレクトリ内に\intlあるいは\udfのようなサブディレクトリーを作ってそこに配置してください。 c:\my_app\app.exe c:\my_app\gds32.dll c:\my_app\ib_util.dll c:\my_app\firebird.conf c:\my_app\firebird.msg c:\my_app\intl\fbintl.dll c:\my_app\udf\fbudf.dll もし別のディレクトリーにFireBirdのファイル(名前を変更したfbembed.dllを除いて)を置きたければ、firebird.confを変更して、RootDirectoryを設置したFireBirdのディレクトリーに指定する必要があります。例: c:\my_app\app.exe c:\my_app\gds32.dll c:\my_app\ib_util.dll c:\my_app\firebird.conf d:\fb\firebird.msg d:\fb\intl\fbintl.dll d:\fb\udf\fbudf.dll firebird.conf: RootDirectory=d:\fb