Firebird への接続(FireDAC)
データベース接続(FireDAC) への移動
このトピックでは、Firebird データベースへの接続方法を説明します。
目次
サポート対象バージョン
FireDAC ネイティブ ドライバでは、Firebird サーバーおよび組み込みエディション版の、バージョン 1.5 以降をサポートしています。Jaffil は正式にはサポートしていません。
InterBase に接続する場合には、FireDAC InterBase ドライバを使用してください。
As of RAD Studio 11.1 より、FireDAC は、さらなるデータ型のサポートを提供するなど、Firebird 4 ドライバを改良しています。
- INT128
- NUMERIC(精度 19..38)
- TIME WITH TIME ZONE, TIMESTAMP WITH TIME ZONE(制限あり)
- DECFLOAT(16/34)
- ネイティブ ステートメント タイムアウト
クライアント ソフトウェア
Windows 版クライアント ソフトウェア
FireDAC を使用するには、以下の x86 または x64 クライアント ソフトウェアがワークステーションにインストールされている必要があります。
- FBCLIENT.DLL - Firebird サーバーへ接続するためのライブラリ。これは、サーバー(ダウンロード)のインストール Bin フォルダから取得できます。
- FBEMBED.DLL - Firebird 組み込みサーバー(詳細)を使用してデータベースを操作するためのライブラリ。
これらの必要なファイルは以下の場所に配置できます。
- PATH 環境変数値に含まれているフォルダ(たとえば <Windows>\SYSTEM32 など)
- アプリケーションの EXE ファイルのフォルダ
あるいは、FDDrivers.ini にパスを指定することにより、その他のフォルダに必要なファイルを配置することもできます。
[FB]
VendorLib=<folder>\fbclient.dll
Firebird クライアント ライブラリが正しくインストールされていない場合は、接続を試みたときに以下の例外が発生します。
macOS クライアント ソフトウェア
FireDAC を使用するには、以下が必要です。
Firebird サーバーに接続するための libfbclient.dylib x86 クライアント ライブラリ。 これは、サーバー(ダウンロード)インストレーションの /Library/Frameworks/Firebird.framework/Versions/A/Resources/lib/ から取得できます。
不可欠なライブラリは 2 つあります:
- /Library/Frameworks/Firebird.framework/Versions/A/Resources/lib/libfbclient.dylib
- /Library/Frameworks/Firebird.framework/Versions/A/Resources/lib/libtommath.dylib
Linux 版クライアント ソフトウェア
FireDAC には、Firebird クライアント ライブラリが必要です。インストールするには:
-
Ubuntu Server 16.04 LTS では、次を実行します:
sudo apt-get install libfbclient2 sudo ln -s /usr/lib/x86_64-linux-gnu/libfbclient.so.2 /usr/lib/x86_64-linux-gnu/libfbclient.so
-
Red Hat Enterprise Linux 7 では、次を実行します:
sudo yum install firebird-libfbclient sudo ln -s /usr/lib64/libfbclient.so.2 /usr/lib64/libfbclient.so
ドライバのリンク
ドライバをリンクするには、以下のいずれかを行います。
- コンポーネント 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 マニュアルを参照してください。 | |
GUIDEndian | GUID 値がクライアント上でどのように表されるかを定義します。 | Little |
ローカル接続
ローカル接続文字列は、サーバー マシンで使用されるファイル システムのネイティブ形式のパスとファイル名の仕様で構成されます。 ローカル接続文字列は、database.configuration
で定義されているデータベース エイリアスにすることもできます。エイリアス形式は、構成ファイルでの定義方法によって異なります。 例:
zappa
blackjack.fdb
poker
ローカル接続文字列を受信すると、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
- リモート サーバー上で動作しているデータベースに TCP / IPプロトコルで接続し、圧縮をアクティブにする場合:
DriverID=FB Database=FBSrv:C:\fb\ADDEMO_FB21.FDB User_Name=sysdba Password=masterkey IBAdvanced=Config=WireCompression=true
- ローカル データベースに接続する場合:
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
関連項目
- 共通の接続パラメータ
- FAQ
- FireDAC ドライバの構成方法
- FireDAC 接続定義の管理方法
- チュートリアル:デスクトップ プラットフォームでマルチデバイス アプリケーションから FireDAC を使用する
サンプル
- FireDAC Firebird サンプル