Devart Universal Data Access Components (UniDAC) v9.4.0 for Delphi 11 Alexandria with Source

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 Pasca...


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.

9.4.0 17-Mar-23

Added support for RAD Studio 11 Alexandria Release 3
Added support for iOS Simulator target platform
Added support for Lazarus 2.2.6
Added support for the mathematical operations in TDADataSet.Filter
Added support for Aggregate Fields and InternalCalc Fields
Added ability to restore from file with TEncoding via the Dump component
Improved the execution of statement that have either IS NULL or IS NOT NULL in the WHERE clause with TVirtualQuery
Now the SetRange will function according to the case sensitivity of keywords in IndexFieldNames
Fixed bug with AV on using master/detail relationship with VirtualTable
Fixed bug with loading data that already has persistent fields into VirtualTable

Oracle data provider

Improved detection of home directories in recent versions of Oracle
Now valid exception will be raised instead of AV when memory can't be allocated for the large row count
Fixed bug with LOBs reading in the Direct mode
Fixed bug with reading BFLOAT and BDOUBLE values from ANYDATA
Fixed bug with querying record count if SQL statement contains PIVOT

SQLServer data provider

Improved compatibility with Linked Server in MSSMS
Improved the GetOrderBy method behavior
Fixed bug with Unicode (UTF-8) in the Direct mode for Windows
Fixed bug with an assertion failure in the CachedUpdate mode
Fixed bug with connecting to default instance by prSQL(SQLOLEDB.1) provider
Fixed bug with fetching datetimeoffset fields in the Direct mode
Fixed bug with fetching sql_variant fields in the Direct mode
Fixed bug with preparing a stored procedure in the Direct mode

MySQL data provider

Fixed bug with BLOBs for MySQL version below 4.1
Fixed bug with BIGINT UNSIGNED key fields in version 4.1 or higher
Fixed bug with BIT field default values

PostgreSQL data provider

Added support for PostgreSQL 15
Improved process of getting extended fields info
Fixed bug with extra connections in GetType methods
Fixed bug with TIMESTAMPTZ fields
Fixed bug with reading fields of type REAL using the Auto protocol
Fixed bug with writing Bytea type in Batch operations
Fixed bug with using "ON CONFLICT RETURNING" in batch operations
Fixed problem with handling fields of type REAL
Fixed bug with the "Range Check Error" exception when reading BLOB data

InterBase data provider

Improved work with alias
Fixed bug with "The SQL statement is not allowable for a bulk operation" when using SP in batch operations
Fixed bug with "Validation error" when using the Loader component

SQLite data provider

Added support for GUID fields stored in binary format
Improved reading fields of the BLOB family

DBF data provider

Improved ROUND() function
Fixed bug with a field name case when creating a table

NexusDB data provider

Added support for NexusDB 4.70.01
Added support for working with tables protected by a password

ODBC data provider

Added the UuidWithBraces specific option for the Connection component

MS Access data provider

Fixed bug with "Cannot modify a read-only dataset"

MongoDB data provider

Added support for MongoDB Atlas
Added support for DNS Seed List connection format
Fixed bug with reading international characters when UseUnicode option is set

Additional Information