InterBase への接続(FireDAC)
データベース接続(FireDAC) への移動
このトピックでは、Embarcadero InterBase への接続方法を説明します。
目次
サポート対象バージョン
FireDAC ネイティブ ドライバでは、Embarcadero InterBase の Server、Desktop、Developer、ToGo の各エディションおよび IBLite のバージョン 6 以降をサポートしています。
Firebird または Jaffil サーバーに接続するには、FireDAC Firebird ドライバを使用します。
Windows クライアント ソフトウェア
FireDAC を使用するには、以下の x86 または x64 クライアント ソフトウェアがワークステーションにインストールされている必要があります。
- InterBase Server
- (Win32 の場合) GDS32.DLL: x86 アプリケーションから InterBase Server、Desktop、Developer の各エディションに接続するためのライブラリ
- (Win64 の場合) IBCLIENT64.DLL: x64 アプリケーションから InterBase Server、Desktop、Developer の各エディションに接続するためのライブラリ
- InterBase ToGo
- (Win32 の場合) IBTOGO.DLL: 組み込み型の InterBase ToGo を使ったデータベースを x86 アプリケーションから操作するためのライブラリ
- (Win64 の場合) IBTOGO64.DLL: 組み込み型の InterBase ToGo を使ったデータベースを x64 アプリケーションから操作するためのライブラリ
これらの必要なファイルは以下の場所に配置できます。
- PATH 環境変数値に含まれているフォルダ(たとえば <Windows>\SYSTEM32 など)
- アプリケーションの EXE ファイルのフォルダ
- その他の任意のフォルダ(FDDrivers.ini で指定):
[IB]
VendorLib=<folder>\gds32.dll
InterBase クライアント ライブラリが適切にインストールされていない場合は、接続を試みると、以下の例外が発生します。
[FireDAC][Phys][IB]-314. Cannot load vendor library [gds32.dll]. The specified module could not be found. Check [gds32.dll], which is located in one of the PATH directories or in the application EXE directory.
Linux クライアント ソフトウェア
FireDAC を使用するには、以下が必要です。
- InterBase サーバーに接続するための libgds.so x64 クライアント ライブラリ。RAD Studio では、[プロジェクト|配置|機能ファイルの追加|InterBase Client\Linux]を使用します。
- libibtogo.so x64 組み込み InterBase。RAD Studio では、[プロジェクト|配置|機能ファイルの追加|InterBase ToGo\Linux]を使用します。
OS X クライアント ソフトウェア
FireDAC を使用するには、以下が必要です。
- InterBase サーバーに接続するための x86 クライアント ライブラリ libgds.dylib。RAD Studio では、[プロジェクト|配置|機能ファイルの追加|InterBase Client\OSX32]を選択します。
- x86 版の組み込み型 InterBase libibtogo.dylib。RAD Studio では、[プロジェクト|配置|機能ファイルの追加|InterBase ToGo\OSX32]を選択します。
iOS クライアント ソフトウェア
FireDAC を使用するには、以下が必要です。
- iOS シミュレータの場合 - x86 版の組み込み型 InterBase libibtogo.dylib。RAD Studio では、[プロジェクト|配置|機能ファイルの追加|InterBase ToGo\iOSSimulator]を選択します。
- 32 ビット iOS デバイスの場合 - 組み込み型 InterBase libibtogo.a(ARM 静的ライブラリ)。RAD Studio では、[プロジェクト|配置|機能ファイルの追加|InterBase ToGo\iOSDevice32]を選択します。
- 64 ビット iOS デバイスの場合 - 組み込み型 InterBase libibtogo.a(ARM 静的ライブラリ)。RAD Studio では、[プロジェクト|配置|機能ファイルの追加|InterBase ToGo\iOSDevice64]を選択します。
リンケージ モードを選択できないことに注意してください。
Android クライアント ソフトウェア
FireDAC を使用するには、以下が必要です。
- 組み込み型 InterBase libibtogo.a(ARM 静的ライブラリ)。RAD Studio では、[プロジェクト|配置|機能ファイルの追加|InterBase ToGo\Android]を選択します。
リンケージ モードを選択できないことに注意してください。
ドライバのリンク
ドライバをリンクするには、以下のいずれかを行います。
- [ツール パレット]から、TFDPhysIBDriverLink コンポーネントと TFDConnection コンポーネントをドロップします。
- uses 句に FireDAC.Phys.IB ユニットを追加します。
接続定義パラメータ
ほとんどのアプリケーションの場合、InterBase に接続するには、DriverID、Protocol、Server、Database、User_Name、Password、CharacterSet の各接続定義パラメータを指定する必要があります(詳細は、「接続の定義(FireDAC)」を参照)。
DriverID=IB または DriverID=IBLite
パラメータ | 説明 | 値の例 |
---|---|---|
Database |
アタッチするデータベースの名前。値は以下のいずれかです。
組み込みデータベースの場合、パスにはパス変数を含めることができます。 |
|
OSAuthent |
メモ: DriverID = IB に対してのみ。
認証モードを以下のように制御します。
|
Yes |
User_Name | ユーザー名です。 | sysdba |
Password | ユーザー パスワードです。 | masterkey |
CharacterSet | 使用する文字セットを指定します。 CharacterSet パラメータを以下のいずれかの値に明示的に設定することを強くお勧めします。
|
WIN1252 |
ExtendedMetadata |
クエリ結果セットの拡張記述を以下のように制御します。
|
False |
Port |
メモ: DriverID = IB に対してのみ。
InterBase サーバーがリスンしている TCP/IP ポートです。デフォルトでは、ポートは、サービスに定義されている gds_db と同じです。通常、これは 3050 と同じです。gds_db が定義されていない場合は、Port パラメータを必要な値に設定しなければなりません。 |
3051 |
Protocol |
メモ: DriverID = IB に対してのみ。
DB サーバーへの接続に使用するプロトコルです。以下の値のいずれかです。
Protocol パラメータが指定されている場合、FireDAC では、そのプロトコルに適した形式と Server および Database パラメータ値を使ってデータベースの完全パスを作成します。 |
TCPIP |
Server |
メモ: DriverID = IB に対してのみ。
接続先のサーバー アドレスを指定します。Server パラメータ値は Protocol パラメータが指定された場合にのみ使用されます。 |
127.0.0.1 |
InstanceName |
メモ: DriverID = IB に対してのみ。
InterBase のインスタンス名です。InterBase 2007 からサポートを開始しています。 |
srv2 |
SQLDialect |
メモ: DriverID = IB に対してのみ。
接続に使用する SQL ダイアレクトです。デフォルト値は 3 です。 |
1 |
RoleName |
メモ: DriverID = IB に対してのみ。
デフォルトのロール名です。 |
Admin |
OpenMode |
データベースの開き方を指定します。サポートされているモードは次のとおりです。
|
Open |
DropDatabase |
既存データベースの削除を以下のように制御します。
|
Yes |
PageSize | CreateDatabase = Yes の場合に新規作成データベースに使用されるページ サイズです。デフォルト値は 4096 です。 | 8192 |
IBAdvanced | 追加パラメータを ';' で区切って並べたリストです。FireDAC.Phys.IBWrapper ユニットでサポートされているパラメータの全リストがわかります(DPBInfos 定数配列を参照)。そこに列挙されている各コードについては、InterBase マニュアルを参照。 |
使用例
セキュアな接続の使用
TLS/SSL 暗号化を使用するには、ssl=true
というキーと値のペアを、次のように Database パラメータの値として渡します。
DriverID=IB Database=my.interbasehost.net/3065?ssl=true?serverPublicFile=C:\PublicCertFileOnClient\CertFile.pem??:C:/DB/TEST.IB User_Name=sysdba Password=masterkey CharacterSet=UTF8 ExtendedMetadata=True
詳細については、InterBase の『操作ガイド』マニュアルの第 5 章(5 ページ以降)を参照してください。
その他の使用例
- リモート サーバー上で動作しているデータベースに TCP/IP プロトコルで接続する場合:
DriverID=IB Database=C:\ib\ADDEMO_IBXE3.gdb Protocol=TCPIP Server=IBSrv User_Name=sysdba Password=masterkey CharacterSet=win1252 ExtendedMetadata=True
- リモート サーバー上で動作しているデータベースに TCP/IP プロトコルで接続する場合:
DriverID=IB Database=IBSrv:C:\ib\ADDEMO_IBXE3.gdb User_Name=sysdba Password=masterkey CharacterSet=utf8
- ローカル データベースに接続する場合:
DriverID=IB Database=C:\ib\ADDEMO_IBXE3.gdb User_Name=sysdba Password=masterkey CharacterSet=win1251
- InterBase ToGo データベースに接続する場合:
TFDPhysIBDriverLink コンポーネントをフォームにドロップし、その VendorLib プロパティを <お使いのパス>\ibtogo.dll に設定するか、仮想ドライバ定義を使用します。
DriverID=IB Database=C:\ib\ADDEMO_IBXE3.gdb User_Name=sysdba Password=masterkey CharacterSet=utf8
- iOS デバイスまたは iOS シミュレータ上で Documents("書類")フォルダ内のデータベース ファイルに接続する場合:
DriverID=IB User_Name=sysdba Password=masterkey Database=$(DOC)/ADDEMO.GDB SQLDialect=3 CharacterSet=UTF8 ExtendedMetadata=True
- Android デバイス上で外部ストレージの暗号化データベース ファイルに接続する場合:
DriverID=IB User_Name=sysdba Password=masterkey Database=$(DOC)/ADDEMO.GDB SQLDialect=3 CharacterSet=UTF8 ExtendedMetadata=True SEPassword=12345
- IBLite データベースに接続する場合:
DriverID=IBLite Database=C:\ib\ADDEMO_IBXE3.gdb User_Name=sysdba Password=masterkey CharacterSet=utf8
関連項目
- 共通の接続パラメータ
- FAQ
- FireDAC ドライバの構成方法
- FireDAC 接続定義の管理方法
- チュートリアル:デスクトップ プラットフォームでマルチデバイス アプリケーションから FireDAC を使用する
サンプル
- FireDAC InterBase サンプル