Firebird への接続(FireDAC)
データベース接続(FireDAC) への移動
このトピックでは、Firebird データベースへの接続方法を説明します。
目次
サポート対象バージョン
FireDAC ネイティブ ドライバでは、Firebird サーバーおよび組み込みエディション版の、バージョン 1.5 以降をサポートしています。Jaffil は正式にはサポートしていません。
InterBase に接続する場合には、FireDAC InterBase ドライバを使用してください。
Windows 版クライアント ソフトウェア
FireDAC を使用するには、以下の x86 または x64 クライアント ソフトウェアがワークステーションにインストールされている必要があります。
- FBCLIENT.DLL - Firebird サーバーへ接続するためのライブラリ。これは、サーバー(ダウンロード)のインストール Bin フォルダから取得できます。
- FBEMBED.DLL - Firebird 組み込みサーバー(詳細)を使用してデータベースを操作するためのライブラリ。
メモ: DBMS クライアント ライブラリに対して適切な DLL を使用することは、とても大切です。GDS32.DLL を Firebird と、もしくは、FBCLIENT.DLL を InterBase と使用してはいけません。
これらの必要なファイルは以下の場所に配置できます。
- PATH 環境変数値に含まれているフォルダ(たとえば <Windows>\SYSTEM32 など)
- アプリケーションの EXE ファイルのフォルダ
あるいは、FDDrivers.ini にパスを指定することにより、その他のフォルダに必要なファイルを配置することもできます。
[FB]
VendorLib=<folder>\fbclient.dll
Firebird クライアント ライブラリが正しくインストールされていない場合は、接続を試みたときに以下の例外が発生します。
Mac OS X 版クライアント ソフトウェア
FireDAC を使用するには、以下が必要です。
- Firebird サーバーに接続するための x86 クライアント ライブラリ libfbclient.dylib。インストールされたサーバー(こちらでダウンロード)の /Library/Frameworks/Firebird.framework/Libraries フォルダから取得できます。
ドライバのリンク
ドライバをリンクするには、以下のいずれかを行います。
- [ツール パレット]から、TFDPhysFBDriverLink コンポーネントと TFDConnection コンポーネントをドロップします。
- uses 句に FireDAC.Phys.FB ユニットを追加します。
接続定義パラメータ
ほとんどのアプリケーションの場合、Firebird DBMS に接続するには、DriverID、Protocol、Server、Database、User_Name、Password、CharacterSet の各接続定義パラメータを指定する必要があります(詳細は、「接続の定義(FireDAC)」を参照)。
DriverID=FB
パラメータ | 説明 | 値の例 |
---|---|---|
Database |
アタッチするデータベースの名前。値は以下のいずれかです。
組み込みデータベースの場合、パスにはパス変数を含めることができます。 |
|
OSAuthent |
認証モードを以下のように制御します。
詳細については、doc\README.trusted_authentication.txt を参照してください。 |
Yes |
User_Name | ユーザー名です。 | sysdba |
Password | ユーザー パスワードです。 | masterkey |
CharacterSet | 使用する文字セットを指定します。 CharacterSet パラメータを以下のいずれかの値に明示的に設定することを強くお勧めします。
|
WIN1252 |
ExtendedMetadata |
クエリ結果セットの拡張記述を以下のように制御します。
|
False |
Port |
Interbase サーバーがリスンしている TCP/IP ポート。デフォルトでは、3050 になります。これとは異なる場合、"Port" パラメータを必要な値に設定しなければなりません。 |
3051 |
Protocol |
DB サーバーへの接続に使用するプロトコルです。このパラメータは、以下のいずれかの値を指定できます。
Protocol パラメータが指定されている場合、FireDAC では、そのプロトコルに適した形式と Server および Database パラメータ値を使ってデータベースの完全パスを作成します。 |
TCPIP |
Server | 接続先のサーバー アドレスです。Server パラメータ値は Protocol パラメータが指定された場合にのみ使用されます。TCP/IP ポート番号を指定する場合は、<ホスト>/<ポート> 表記を使用します。 |
|
SQLDialect | 接続に使用する SQL ダイアレクトです。デフォルト値は 3 です。 | 1 |
RoleName | デフォルトのロール名です。 | Admin |
OpenMode |
データベースの開き方を指定します。サポートされているモードは次のとおりです。
|
Open |
DropDatabase |
既存データベースの削除を以下のように制御します。
|
Yes |
PageSize | CreateDatabase = Yes の場合に新規作成データベースに使用されるページ サイズです。デフォルト値は 1024 です。 | 4096 |
IBAdvanced | 追加パラメータを ';' で区切って並べたリストです。FireDAC.Phys.IBWrapper ユニットでサポートされているパラメータの全リストがわかります(DPBInfos 定数配列を参照)。そこに列挙されている各コードについては、InterBase/Firebird マニュアルを参照してください。 |
使用例
- リモート サーバー上で動作しているデータベースに TCP/IP プロトコルで接続する場合:
DriverID=FB Database=C:\fb\ADDEMO_FB21.FDB Protocol=TCPIP Server=FBSrv User_Name=sysdba Password=masterkey CharacterSet=win1252 ExtendedMetadata=True
- リモート サーバー上で動作しているデータベースに TCP/IP プロトコルで接続する場合:
DriverID=FB Database=FBSrv:C:\fb\ADDEMO_FB21.FDB User_Name=sysdba Password=masterkey CharacterSet=utf8
- ローカル データベースに接続する場合:
DriverID=FB Database=C:\fb\ADDEMO_FB21.FDB User_Name=sysdba Password=masterkey CharacterSet=win1251
- Firebird 組み込みデータベースに接続する場合:
TFDPhysFBDriverLink コンポーネントをフォームにドロップし、その VendorLib プロパティを <お使いのパス>\fbembed.dll に設定するか、仮想ドライバ定義を使用します。
DriverID=FB Database=C:\fb\ADDEMO_FB21.FDB User_Name=sysdba CharacterSet=utf8