IBXアプリケーションをFireDACへ移行する

提供: Support
移動先: 案内検索

概要

このページでは、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など、複数のデータベースに対応する汎用データアクセスフレームワークです。
コンポーネント TIBDatabaseTIBQueryTIBTransactionなど、IBX固有のコンポーネントを使用します。 TFDConnectionTFDQueryTFDTransactionなど、FireDACコンポーネントを使用します。
トランザクション処理 トランザクション管理にTIBTransactionを使用します。 TFDTransactionを使用し、ネストしたトランザクションやセーブポイントをサポートします。
クロスデータベースの移植性 移植性はなく、InterBase/Firebirdに特化しています。 高い移植性を持ち、最小限のコード変更でデータベースを切り替えることが可能です。

IBXとFireDAC、どちらを選ぶべき?

IBXが適している場合

  • 対象DBが InterBase または Firebird のみ。
  • 軽量でシンプルな構成を望む場合。
  • 高度な機能(接続プーリングや非同期処理など)を必要としない場合。

FireDACが適している場合

  • 複数のデータベースに対応したい。
  • 移植性や汎用性を重視する。
  • バッチ処理や非同期クエリ、高度なキャッシュ制御などの機能が必要。


IBXは単純なInterBase/Firebird専用アプリに適しており、複数のデータベースや高度な機能(接続プーリング、非同期クエリ、バッチ操作など)をサポートしたい場合、またはデータベースに依存しないアプリケーションを目指す場合、FireDACが理想的な選択肢となります。

IBXからFireDACへの移行手順

  1. FireDAC統合パッケージのインストール
    bin\FireDACIBXIntegrate290.bpl をインストール。
    TFDIBDatabase および TFDBDataSet コンポーネントが追加されます。
  2. reFindツールによるコード変換
    以下のフォルダにあるサンプルを利用してください:
    Object Pascal/Database/FireDAC/Tool/reFind/IBX2FDMigration
  3. 使用するファイル:
    • migrate.bat:reFindを呼び出すためのバッチファイル。
    • FireDAC_Migrate_IBX.txt:IBXからFireDACへの移行スクリプト(必要に応じて編集)。

参考情報