FireDAC - Components

FireDAC - Components

FireDAC comes with a lot of non visual database components, these components could be divided into below categories :

  • FireDAC Core Components.
  • FireDAC Driver Link Components.
  • FireDAC Monitor Link Components.
  • FireDAC UI Components.
  • FireDAC Service Components.
  • FireDAC ETL Components.
  • FireDAC NoSQL Components.

Now we will deep dive describing the components available for each category.

FireDAC Core Components

The following classes are the FireDAC core components

Name Platforms Description
TFDManager All Responsible for connection definitions and connections management.
TFDConnection All Responsible for connection establishment with a DBMS.
TFDTransaction All Responsible for connection transaction management.
TFDCommand All Responsible for executing SQL commands.
TFDTableAdapter All Binds TFDCommand and TFDMemTable.
TFDSchemaAdapter All Binds several datasets into a single in-memory storage and builds a centralized change log.
TFDMemTable All Implements an in-memory dataset.
TFDQuery All Implements a dataset that can execute SQL queries .
TFDStoredProc All Implements a dataset that can execute server-side stored procedures.
TFDTable All Implements a dataset that works with single database tables.
TFDUpdateSQL All Applies updates on behalf of queries or stored procedures that cannot post updates directly.
TFDBatchMove All Responsible for data movement between different data sources.
TFDScript All Implements a SQL script engine that can execute a series of SQL queries.
TFDMetaInfoQuery All Implements a dataset that can execute meta-info queries.
TFDEventAlerter All Responsible for handling the database event notifications.
TFDLocalSQL All Implements the Local SQL engine, which can execute the SQL queries with TDataSet descendants as data sources.

FireDAC supports various databases maintaining their inherent features. To connect with various databases, FireDAC has provided one driver link component per supported database.

Name Platforms Description
TFDPhysADSDriverLink Win32, Win64, Linux Use TFDPhysADSDriverLink to link the Advantage Database Server driver (which you should set up) to an application.
TFDPhysASADriverLink Win32, Win64, Linux, macOS Use TFDPhysASADriverLink to link the Sybase SQL Anywhere driver (which you should set up) to an application.
TFDPhysDSDriverLink Win32, Win64, Linux, macOS, iOS, Android Use TFDPhysDataSnapDriverLink to link the Multi-Tier DataSnap driver (which you should set up) to an application.
TFDPhysDB2DriverLink Win32, Win64, Linux Use TFDPhysDB2DriverLink to link the IBM DB2 driver (which you should set up) to an application.
TFDPhysFBDriverLink Win32, Win64, Linux, macOS Use TFDPhysFBDriverLink to link the Firebird driver (which you should set up) to an application.
TFDPhysIBDriverLink Win32, Win64, Linux, macOS, iOS, Android Use TFDPhysIBDriverLink to link the Interbase driver (which you should set up) to an application.
TFDPhysInfxDriverLink Win32, Win64, Linux Use TFDPhysInfxDriverLink to link the Informix driver (which you should set up) to an application.
TFDPhysMSAccessDriverLink Win32, Win64 Use TFDPhysMSAccessDriverLink to link the Microsoft Access driver (which you should set up) to an application.
TFDPhysMSSQLDriverLink Win32, Win64, Linux, macOS Use TFDPhysMSSQLDriverLink to link the Microsoft SQL Server driver (which you should set up) to an application.
TFDPhysMySQLDriverLink Win32, Win64, Linux, macOS Use TFDPhysMySQLDriverLink to link the MySQL Server driver (which you should set up) to an application.
TFDPhysODBCDriverLink Win32, Win64, Linux, macOS Use TFDPhysODBCDriverLink to link the ODBC bridge driver to an application.
TFDPhysOracleDriverLink Win32, Win64, Linux, macOS Use TFDPhysOracleDriverLink to link the Oracle Database driver (which you should set up) to an application.
TFDPhysPgDriverLink Win32, Win64, Linux, macOS Use TFDPhysPgDriverLink to link the PostgreSQL driver (which you should set up) to an application.
TFDPhysSQLiteDriverLink Win32, Win64, Linux, macOS, iOS, Android Use TFDPhysSQLiteDriverLink to link the SQLite driver (which you should set up) to an application.
TFDPhysTDataDriverLink Win32, Win64, Linux, macOS Use TFDPhysTDataDriverLink to link the Teradata Database driver (which you should set up) to an application.
TFDPhysTDBXDriverLink Win32, Win64, macOS, iOS, Android Use TFDPhysTDBXDriverLink to link the dbExpress v 4 bridge driver to an application.
TFDPhysMongoDriverLink Win32, Win64, macOS Use TFDPhysMongoDriverLink to link the MongoDB driver to an application.

FireDAC Monitor Link Components

To enforce tracing capabilities, applications can use one of the monitor components in the following table.

Name Platforms Description
TFDMoniFlatFileClientLink All Use TFDMoniFlatFileClientLink to link the file tracing capabilities (which you should set up) to an application .
TFDMoniRemoteClientLink Win32, Win64 Use TFDMoniRemoteClientLink to link the FDMonitor tracing capabilities (which you should set up) to an application .
TFDMoniCustomClientLink All Use TFDMoniCustomClientLink to link custom tracing capabilities (which you should set up) to an application .

FireDAC UI Components

Most of the applications use TFDGUIxWaitCursor and TFDGUIxLoginDialog.

Name Platforms Description
TFDGUIxAsyncExecuteDialog VCL, FireMonkey This dialog shows an SQL query execution progress .
TFDGUIxErrorDialog VCL, FireMonkey This dialog displays the FireDAC exceptions .
TFDGUIxLoginDialog VCL, FireMonkey This dialog allows the users to enter their DB credentials.
TFDGUIxScriptDialog VCL, FireMonkey, Console This dialog shows an SQL script execution progress .
TFDGUIxWaitCursor VCL, FireMonkey, Console This component allows the control of the wait cursor.

FireDAC Service Components

An application uses service components to add a specific DBMS facility support

Name Platforms Description
TFDADSBackup Win32, Win64, Linux This class implements the Advantage backup database service.
TFDADSRestore Win32, Win64, Linux This class implements the Advantage service, by restoring a database from a backup.
TFDADSUtility Win32, Win64, Linux This class implements the Advantage table utilities.
TFDASABackup Win32 This class implements the SQL Anywhere backup database service.
TFDASAValidate Win32 This class implements the SQL Anywhere database validate service.
TFDIBBackup Win32, Win64, Linux, macOS, iOS, Android This class implements the Firebird/InterBase backup database service.
TFDIBConfig Win32, Win64, Linux, macOS, iOS, Android This class implements the Firebird/InterBase setting database properties service.
TFDIBInfo Win32, Win64, Linux, macOS, iOS, Android This class implements the Firebird/InterBase service to query the service manager.
TFDIBRestore Win32, Win64, Linux, macOS, iOS, Android This class implements the Firebird/InterBase service, by restoring a database from a backup.
TFDIBSecurity Win32, Win64, Linux, macOS, iOS, Android This class implements the Firebird/InterBase database security management service.
TFDIBValidate Win32, Win64, Linux, macOS, iOS, Android This class implements the Firebird/InterBase database validate and repair service.
TFDIBSDump Win32, Win64, Linux, macOS, iOS, Android This class implements the InterBase-only database dump service.
TFDFBNBackup Win32, Win64, Linux, macOS This class implements the Firebird-only backup database service.
TFDFBNRestore Win32, Win64, Linux, macOS This class implements the Firebird-only restore database service.
TFDFBTrace Win32, Win64, Linux, macOS This class implements the Firebird database trace service.
TFDMSAccessService Win32, Win64 This class implements the Microsoft Access database. It also creates, drops, compacts, and repairs the services.
TFDOracleAdmin Win32, Win64, Linux, macOS, iOS, Android This class implements a service to manage an Oracle database instance.
TFDSQLiteBackup Win32, Win64, Linux, macOS, iOS, Android This class implements SQLite backup. It also restores and copies the database functionality.
TFDSQLiteCollation Win32, Win64, Linux, macOS, iOS, Android This class implements the custom SQLite collation.
TFDSQLiteFunction Win32, Win64, Linux, macOS, iOS, Android This class implements the custom SQLite function.
TFDSQLiteSecurity Win32, Win64, Linux, macOS, iOS, Android This class allows you to manage the SQLite database encryption.
TFDSQLiteValidate Win32, Win64, Linux, macOS, iOS, Android This class implements the SQLite database validate service.
TFDSQLiteRTree Win32, Win64, Linux, macOS, iOS, Android This class implements the custom SQLite RTree.

FireDAC ETL Components

An application uses the ETL components for data movement between different types of data sources and the data destinations.

Name Platforms Description
TFDBatchMove Win32, Win64, macOS, iOS, Android, iOS Simulator This class implements the engine to process the data movement between different data source and destinations.
TFDBatchMoveTextReader Win32, Win64, macOS, iOS, Android, iOS Simulator This class defines a data source reader using a text file.
TFDBatchMoveTextWriter Win32, Win64, macOS, iOS, Android, iOS Simulator This class defines a data target writer using a text file.
TFDBatchMoveDataSetReader Win32, Win64, macOS, iOS, Android, iOS Simulator This class defines a source dataset.
TFDBatchMoveDataSetWriter Win32, Win64, macOS, iOS, Android, iOS Simulator This class defines a destination dataset.
TFDBatchMoveSQLReader Win32, Win64, macOS, iOS, Android, iOS Simulator This class connects to the database that contains the data to copy.
TFDBatchMoveSQLWriter Win32, Win64, macOS, iOS, Android, iOS Simulator This class connects to the database where you want to copy the data.

FireDAC NoSQL Components

An application uses the NoSQL components to work with NoSQL document databases.

Name Platforms Description
TFDMongoDataSet Win32, Win64, macOS This class implements aa dataset that can be attached to a MongoDB cursor.
TFDMongoQuery Win32, Win64, macOS This class implements a dataset that can execute MongoDB queries.
TFDMongoPipeline Win32, Win64, macOS This class allows to execute a MongoDB pipeline.

Did you find this article valuable?

Support Deepak Kumar Jain by becoming a sponsor. Any amount is appreciated!