Delphi
Devart UniDAC v12.0.0 Professional for Delphi 13
Universal Data Access Components (UniDAC) is a powerful library of nonvisual cross-database data access components for Delphi, Delphi for .NET, C++Builder,...
Description
Universal Data Access Components (UniDAC) is a powerful library of nonvisual cross-database data access components for Delphi, Delphi for .NET, C++Builder, and Lazarus (Free Pascal). We have combined the experience of long-term successful development into one product, which provides unified access to the popular database servers like Oracle, Microsoft SQL Server, MySQL, InterBase, Firebird, PostgreSQL, SQLite, DB2, Microsoft Access, Sybase Advantage Database Server, Sybase Adaptive Server Enterprise, and other databases (using ODBC provider).
UniDAC offers unified approach to the database-related applications development process. That means you can switch easily between different databases in your projects without going deep into their specifics.
Using UniDAC with its server-independent interface is the best way to create cross-database applications. UniDAC gives outstanding flexibility and independence to your projects.
Server-Aware Providers
UniDAC chooses the best way specific to the server to perform most operations. Every UniDAC data provider uses server-specific native connectivity. All operations with data are performed by providers automatically considering the selected database server peculiarities.
Cross-Platform Solution for Delphi, C++Builder, and Lazarus
UniDAC is a cross-platform solution for developing applications using various IDEs: RAD Studio, Delphi, C++Builder, Lazarus (and FPC) on Windows, Mac OS X, iOS, Android, Linux, and FreeBSD for both x86 and x64 platforms. UniDAC also provides support for the FireMonkey platform, which allows you to develop visually spectacular high-performance desktop and mobile native applications.
Server-Independent SQL
When developing database applications that allow working with several databases, one of the key points is writing of server-independent SQL. In UniDAC, the server-independent SQL support is implemented by means of the powerful macros engine, that produces dynamic SQL by replacing parts of the query statements with user-defined code.
12.0.0 27-Mar-26
- Added support for RAD Studio 13.1 Florence
- Added support for the Arm64EC target platform
- Added support for Lazarus 4.6
- Added the "For the current user/For all users" option during installation
- Added masking of the Password property in the Connection component to prevent it from being stored in memory as plain text
- Added the GetWhere method to the TCustomDADataSet component
- Added the DeleteOrderBy method to the TCustomDADataSet component
- Added the RangeFieldCount property to TCustomDADataSet to specify the number of indexed fields used for range setting
- Added the AutoClose option to TCustomDADataSet to control automatic closing of a dataset when its associated ClientDataSet is closed
- Added support for cloning a structure of the VirtualTable component with the Fields.Assign method
- Improved performance of the VirtualQuery component when using a TDataSet as a source
- Fixed an issue with installing the Professional Edition with Source Code in Lazarus
- Fixed an issue that caused incorrect record sorting in a dataset when both ORDER BY and IndexFieldNames are used
- Fixed an issue with the ConnectString property in the Connection component when its value contained a sequence of SQL comment characters
- Fixed an issue in tunnel.php that required establishing a tunnel connection in a browser first
- Fixed an issue with freeing BLOB values when updating a record in the VirtualQuery component
Oracle data provider
- Added support for Oracle 26ai
- Added support for the JSON data type in Oracle 21c and later
- Improved performance of Oracle homes list detecting
- Fixed an issue that caused a compilation error when ODAC and UniDAC Express were installed simultaneously
SQLServer data provider
- Added the DescribeFields option to control the call to the sp_describe_first_result_set procedure
- Added the CommandTimeout option to TUniConnection specific options
- Fixed an issue where parameter values were lost during Insert operations
InterBase data provider
- Added support for Firebird 3 functions
- Added support for the wait_time and read_consistency parameters for TPB
- Added support for the isc_dpb_connect_timeout, isc_dpb_dummy_packet_interval, and isc_dpb_garbage_collect parameters for DPB
- Added the FloatAsSingle specific option for the Connection component
- Added the UseReadConsistency specific option for the Connection component
- Added the ConnectionConfigOverrides specific option for the Connection component
- Added support for "GENERATED BY DEFAULT AS IDENTITY" fields
- Improved work with DPB
- Improved work with TPB
- Improved work with SPB
- Fixed an issue with an Invalid pointer operation on destroying a dataset
- Fixed an issue that caused the "Block Option isc_tpb_rec_version is not valid if isc_tpb_read_consistency was used previously in TPB" error for Firebird 4 and later
- Fixed an issue with compiling InterBaseUniProvider for Android 32-bit in RAD Studio 13 Florence and RAD Studio 12 Athens Release 3
MySQL data provider
- Added support for MySQL 9.6
- Added the SetFieldsReadOnly option to the TUniDump component to allow adding read-only fields in INSERT statements during backup
- Added the Delimiter option to the TUniDump component to set a custom delimiter for stored procedure and trigger backup
- Fixed an issue with executing SHOW COLUMNS for MySQL 4.11.x when UseUnicode = True
PostgreSQL data provider
- Added support for PostgreSQL 18
- Added support for protocol 3.2
- Added support for virtual generated columns
- Added support for OAUTHBEARER authentication
- Added the CurrentTimeZone specific connection option
- Added the UseSystemLocale specific connection option
SQLite data provider
- Added support for vector fields via the sqlite-vec and sqlite-vector extensions
- Added the LimitLength specific option to set the SQLITE_LIMIT_LENGTH runtime limit
- Added the LimitExprDepth specific option to set the SQLITE_LIMIT_EXPR_DEPTH runtime limit
- Fixed an issue that caused the "Incorrect parameter" exception when executing a query with parameters
ASE data provider
- Added the DescribeParams specific option for TUniTable, TUniQuery, and TUniSQL components
- Fixed an issue with detecting the server character set
NexusDB data provider
- Added the SkipSetIndexServerCursor option to avoid setting indexes when ServerCursorUsed is used
DBF data provider
- Added the ReadOnly connection option
- Fixed an issue with incorrect index data update when inserting a record
Access data provider
- Added SharedMode and SharedTimeout connection options to enable the concurrent use of the same database from multiple applications
- Fixed an issue that caused the "BCD overflow" exception when reading Decimal fields
Excel data provider
- Added support for the CREATE RANGE statement to refer to a range of cells as a database object
- Added the ExactFieldLength connection option to set the length of a string field to an exact value depending on the data
- Fixed several issues with reading tables and named ranges when opening XLSX and XLSM workbooks
- Fixed several issues with opening an XLS workbook
BigQuery data provider
- Added support for Service Account Authentication using JSON
