SqlClient Data Access Components

SqlClient Data Access Components (SqlClientDAC) is a feature-rich and high-performance library of components that provides native connectivity to SQL Server from Delphi for both 32-bit and 64-bit Windows platforms. SqlClientDAC-based applications connect to SQL Server directly through the ADO.Net SqlClient, which is a .NET Framework Data Provider for SQL Server. SqlClientDAC is designed to help programmers develop faster and cleaner SQL Server database applications. SqlClientDAC uses its own protocol to communicate with SQL Server. SqlClientDAC is lightweight and performs well because it is optimized to access a SQL Server directly without adding an OLE DB or Open Database Connectivity (ODBC) layer.

SqlClientDAC, a high-performance and feature-rich SQL Server connectivity solution, is a complete replacement for standard SQL Server connectivity solutions and presents an efficient alternative to the Borland Database Engine (BDE) and standard dbExpress driver for access to SQL Server.

SqlClientDAC-based DB applications are easy to deploy, do not require installation of other data provider layers (such as BDE and ODBC), uses ADO.Net technologies and that's why they can work faster than the ones based on standard Delphi data connectivity solutions.

Component List


This class is responsible for establishing connection with SQL Server database.


This class is responsible for executing a Transact-SQL statement or stored procedure against a SQL Server database.


This class is responsible for providing a way of reading a forward-only stream of rows from a SQL Server database.


This class is responsible for filling Virtual Table components with data and update a SQL Server database.


This class is responsible for efficiently bulk load a SQL Server table with data from another source.


This class uses SQL statements to retrieve data from tables in a SQL Server database and pass it to one or more data-aware components through a TDataSource object. This component provides a mechanism for updating data.


This class is responsible for retrieving and updating data in a single table in a SQL Server database without writing SQL statements.


This class is responsible for executing stored procedures and functions in a SQL Server database.


  • Direct access to microsoft sql server data. Does not require installation of other data provider layers (such as BDE)
  • Bulk copying of data from a data source to Sql server database using TSqlClientBulkCopy
  • Transmission is via XML format, therefore can pass through firewalls
  • Provides support for obtaining SQL Server run-time statistics
  • Provides support for snapshot isolation, a row versioning mechanism designed to reduce blocking in transactional applications.
  • High overall performance
  • High performance in batch processing. This is controlled by UpdateOptions.UpdateBatchSize property
  • Support prefetching rows - specifies the number of rows that are to be fetched per server round trip. This is controlled by FetchOptions.RowsetSize property
  • CachedUpdates operation mode which is controlled UpdateOptions.UpdateMode property
  • Automatic data updating with TSqlClientQuery, TSqlClientTable, and TSqlClientStoredProc components
  • Fast data retrieval with TSqlClientDataReader component or using Server CursorKind property of the TCustomDbDataSet
  • Automatic record locking
  • Automatic query preparing
  • Data export and import to/from XML
  • The ConnectRetryCount and ConnectRetryInterval connection string keywords (ConnectionString) let you control the idle connection resiliency feature
  • Unicode support
  • Easy to deploy

Supported DB Servers

Microsoft SQL Servers:
  • SQL Server 2019, 2017, 2016, 2014, 2012, 2008 R2, 2008, 2005 (including Express edition)
  • SQL Server 2000 (including MSDE)
  • SQL Server 7