Migrating IBX Applications to FireDAC
This article explains the key differences between them and when and how to migrate from InterBase Express (IBX) to FireDAC.
Contents
Key Differences
In general, FireDAC components have many differences from the IBX data access components. This includes the syntax and semantics of the properties and methods in the FireDAC and IBX. The main differences are:
Feature or Aspect | InterBase Express (IBX) | FireDAC |
---|---|---|
Purpose and support | Designed specifically for connecting and managing operations with InterBase and Firebird databases. | A universal data access framework for multiple databases such as InterBase, Firebird, MySQL, PostgreSQL, SQLite, and others. |
Example | Example | Example |
Components | Uses IBX-specific components, such as TIBDatabase, TIBQuery, TIBTransaction, and related. | Uses FireDAC components, such as TFDConnection, TFDQuery, TFDTransaction, and related. |
Transaction Handling | Uses TIBTransaction for transaction management. | Uses TFDTransaction with support for nested transactions and savepoints. |
Cross-Database Portability | Not portable. Tied to InterBase/Firebird. | Highly portable, can switch databases with minimal code changes. |
Choosing between IBX and FireDAC
Migrating to FireDAC is not always necessary. In case your application only needs to work with InterBase or FireBird, and you prefer a simple and lightweight solution without using advanced features like connection pooling or cross-database support, then IBX remains a great choice.
However, if you are looking for support for multiple databases and advanced features (like connection pooling, asynchronous queries, and batch operations), or if you aim to future-proof your application by making it database-agnostic, then FireDAC is the ideal choice.
Migrating from IBX to FireDAC
Follow these steps to migrate an IBX app to FireDAC:
- Install the package bin\FireDACIBXIntegrate290.bpl. This will register TFDIBDatabase and TFDBDataSet components.
- Use these files to set the migration process from the demo folder Object Pascal\Database\FireDAC\Tool\reFind\IBX2FDMigration:
- Demo\migrate.bat - batch file to run reFind.
- Update it according to your environment.
- FireDAC_Migrate_IBX.txt - IBX to FireDAC migration script