FireDAC is a powerful, yet easy-to-use access layer that supports, abstracts, and simplifies data access, providing all the features needed to build real-world high-load applications. FireDAC provides a common API for accessing different database back-ends, without giving up access to unique database-specific features and without compromising on performance. Use FireDAC in Android, iOS, Windows, and Mac OS X applications you are developing for PCs, tablets and smartphones.
FireDAC is being extended with new features and is at the core of the new Enterprise Mobility Services. Specifically, new features include:
FireDAC streaming support for blob fields and support for MSSQL file streams
New IBLite driver for desktop and mobile
Support for DBMS API command native timeouts.
FireDAC connection parameters are now displayed in the Object Inspector as a record
Data Explorer enhancements (primary keys and fields are displayed, foreign keys and fields are displayed, sequences/generators are now displayed)
New TFDBatchMove component for copying tables data and metadata between different databases
Improvements in TFDCustomSchemaAdapter component and in the TFDParam class
Data Access Engine
FireDAC datasets are built on top of a powerful data access engine. This lightweight, effective and flexible engine can be used directly in applications and serves as a powerful foundation to the datasets API. The engine consists of the dataset components and the non-component layers, represented by the flexible object oriented APIs.
Easy to use TDataSet descendant classes including TFDQuery, TFDMemTable, TFDStoredProc, and TFDTable
Dataset classes that are highly compatible with original BDE datasets and ClientDataSet
One of the fastest in-memory datasets, with sorting, filtering, aggregates, filtered and expression indexes, persistence and more
Local SQL engine for executing SQL queries against datasets
Database access is optimized using many different techniques often found only in database-specific components, which let you get faster data access out of the box.
Live Data Window mode enabling fast bi-directional navigation through large datasets
Array Data Manipulation Language (DML) command execution and Command Batches for batch applications and for minimizing network traffic
Customizable and flexible "row set" fetching
Direct support for asynchronous command execution, command execution timeout, and command execution canceling
Automatic, efficient and sophisticated update command generation and execution
Cached updates mode with ability to track correlated changes for several datasets with cascading updates
Full support for auto-incrementing fields, including those based on generators and table triggers
FireDAC provides a range of features that help abstract the differences between database systems, making it easy to write code that does not have to be concerned about different DBMS dialects or other subtle differences between DBMSs.
SQL dialect abstraction through FireDAC escape sequences, conditional statements and macros
Data type unification with flexible and adjustable data type mapping
Unified error reporting, including DBMS-independent and DBMS-specific error information
Unified transaction support, with separate read and update transactions, and access to the full power of the specific transactions support of InterBase and Firebird
Support for multiple Unicode and ANSI encodings
Automatic connection recovery, automatically re-establishing the connection in case of an unstable environment
Disconnected connection mode, allowing application to continue to work without a physical connection to a database
Database events and notifications support
Unified SQL scripts support
Extended metadata retrieval capabilities