IBXアプリケーションをFireDACへ移行する
目次
概要
このページでは、InterBase Express(IBX)アプリケーションをFireDACに移行する際の主な違いと移行手順について説明します。
はじめに:IBX から FireDAC への移行の目的
InterBase Express(IBX)は、InterBase データベース専用の軽量なデータアクセスコンポーネント群です。一方、FireDAC は、より高機能で多くのデータベースに対応した汎用的なライブラリで、より細かな制御やパフォーマンスの最適化が可能です。 IBX を使って既存のプロジェクトを開発してきた場合でも、FireDAC へ移行することで、将来的な拡張やマルチデータベース対応が容易になります。
IBX コンポーネントと FireDAC コンポーネントの対応表
IBX コンポーネント | FireDAC コンポーネント |
---|---|
TIBDatabase | TFDConnection |
TIBTransaction | TFDTransaction |
TIBQuery | TFDQuery |
TIBDataSet | TFDQuery または TFDTable |
TIBSQL | TFDCommand または TFDQuery |
TIBStoredProc | TFDStoredProc |
詳しくは、以下のドキュメントを参照ください。
主な違い
一般に、FireDAC コンポーネントは IBX データ アクセス コンポーネントと多くの違いがあります。これには、FireDAC と IBX のプロパティとメソッドの構文とセマンティクスが含まれます。IBXとFireDACの主な違いは以下のとおりです。
特徴・側面 | InterBase Express(IBX) | FireDAC |
---|---|---|
目的とサポート | InterBaseおよびFirebirdデータベースとの接続と操作管理に特化して設計されています。 | InterBase、Firebird、MySQL、PostgreSQL、SQLiteなど、複数のデータベースに対応する汎用データアクセスフレームワークです。 |
コンポーネント | TIBDatabase、TIBQuery、TIBTransactionなど、IBX固有のコンポーネントを使用します。 | TFDConnection、TFDQuery、TFDTransactionなど、FireDACコンポーネントを使用します。 |
トランザクション処理 | トランザクション管理にTIBTransactionを使用します。 | TFDTransactionを使用し、ネストしたトランザクションやセーブポイントをサポートします。 |
クロスデータベースの移植性 | 移植性はなく、InterBase/Firebirdに特化しています。 | 高い移植性を持ち、最小限のコード変更でデータベースを切り替えることが可能です。 |
IBXとFireDAC、どちらを選ぶべき?
IBXが適している場合
- 対象DBが InterBase または Firebird のみ。
- 軽量でシンプルな構成を望む場合。
- 高度な機能(接続プーリングや非同期処理など)を必要としない場合。
FireDACが適している場合
- 複数のデータベースに対応したい。
- 移植性や汎用性を重視する。
- バッチ処理や非同期クエリ、高度なキャッシュ制御などの機能が必要。
IBXは単純なInterBase/Firebird専用アプリに適しており、複数のデータベースや高度な機能(接続プーリング、非同期クエリ、バッチ操作など)をサポートしたい場合、またはデータベースに依存しないアプリケーションを目指す場合、FireDACが理想的な選択肢となります。
IBXからFireDACへの移行手順
- FireDAC統合パッケージのインストール
bin\FireDACIBXIntegrate290.bpl
をインストール。TFDIBDatabase
およびTFDBDataSet
コンポーネントが追加されます。
- reFindツールによるコード変換
- 以下のフォルダにあるサンプルを利用してください:
- Object Pascal/Database/FireDAC/Tool/reFind/IBX2FDMigration
- 使用するファイル:
- migrate.bat:reFindを呼び出すためのバッチファイル。
- FireDAC_Migrate_IBX.txt:IBXからFireDACへの移行スクリプト(必要に応じて編集)。