FireDAC - Components

Search for a command to run...

No comments yet. Be the first to comment.
In this series , we will learn about Delphi's Multi-Device data access library FireDAC. We will start with introduction of FireDAC and will cover migration to FireDAC from other data access approache
One of the key part of software development is the ability to connect with the database and perform database related operations. Programming languages provides support for connecting with database using data access libraries. Some data access libra...
ASP.NET Core Configuration Guide Overview ASP.NET Core uses a layered configuration system where later sources override earlier ones for the same key. Configuration Priority Order Priority Source
Legacy Delphi applications often struggle with outdated UI/UX, performance issues, and monolithic architectures that make refactoring difficult. However, a full rewrite is not always feasible due to time, cost, and the risk of disrupting critical bus...
Entity Framework Core (EF Core) is a powerful and flexible object-relational mapping (ORM) framework for .NET applications, enabling developers to work with relational databases using strongly-typed .NET objects. It simplifies data access by abstract...

In this article we are going to cover some advance scenarios where Options pattern is very useful. We have covered the basic understanding of Options pattern into Options pattern in ASP.NET Core: Introduction article. Please go through it if not fami...

In this article we will learn about Options pattern in ASP.NET Core for dealing with application configurations. The Options pattern uses the C# classes to access and manage the configurations thus providing more flexibility and type safe approach to...

FireDAC comes with a lot of non visual database components, these components could be divided into below categories :
Now we will deep dive describing the components available for each category.
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. |
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 . |
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. |
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. |
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. |
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. |