Universal Data Access
UniDAC provides transparent server-independent interfaces for working with different databases, and lets you change the client engine for a specific server type just by changing single connection option. It means that you can easily switch between database servers in your cross-database UniDAC-based application.
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.
The goal of UniDAC is to enable developers to write efficient and flexible database applications. The UniDAC library is implemented using advanced data access algorithms and optimization techniques. Classes and components undergo comprehensive performance tests and are designed to help you write high-performance, lightweight data access layers.
Compatibility with Standard Data Access Components
The UniDAC interface retains compatibility with the standard VCL data access components like BDE. Existing BDE-based applications can be easily migrated to UniDAC and enhanced to take advantage of the server-specific features.
How Does UniDAC Work?
UniDAC consists of two constituents. The first constituent is the general UniDAC Engine that provides unified programming interface for developers. The second constituent is the data access layer which consists of data access providers. These providers are intended for interacting between UniDAC Engine and database servers. Each data provider works with one specific database server. The general UniDAC structure is presented below:
There are two ways to install data access providers. The first way is to install the UniDAC Professional or UniDAC Trial edition. In this case all available providers are installed. The second way is to install UniDAC Engine with the UniDAC Standard edition, and required data access providers with Data Access Components such as ODAC, SDAC, MyDAC, and IBDAC. Each DAC installs the corresponding data access provider for UniDAC.
UniDAC includes the following components:
- TUniConnection - lets you set up and control connections to different servers
- TUniTransaction - provides discrete transaction control over sessions. Can be used to manipulate both simple and distributed transactions for certain providers
- TUniQuery - uses SQL statements to retrieve data from tables and pass it to one or more data-aware components through a TDataSource object. This component provides a mechanism for updating data
- TUniTable - lets you retrieve and update data in a single table without writing SQL statements.
- TUniStoredProc - executes stored procedures and functions. Lets you edit cursor data returned as parameter
- TUniSQL - executes SQL statements and stored procedures, which do not return datasets
- TUniScript - executes sequences of SQL statements and provides control over the execution process
- TUniMetaData - allows to retrieve comprehensive metadata on the specified SQL object
- TUniUpdateSQL - lets you tune update operations for a DataSet component
- TUniDataSource - provides an interface for connecting data-aware controls on a form and UniDAC dataset components
- TUniSQLMonitor - interface for monitoring dynamic SQL execution
- TUniConnectDialog - allows you to build custom prompts for provider name, server name, port number, database, user name, and password
- TInterBaseUniProvider - links the InterBase provider to an application
- TMySQLUniProvider - links the MySQL provider to an application
- TOracleUniProvider - links the Oracle provider to an application
- TSQLServerUniProvider - links the SQL Server provider to an application
- TVirtualTable - provides dataset functionality for data that has no real database connection. This component is placed on the Data Access page of the Component palette, not on the UniDAC page
- TCRBatchMove - transfers data between all types of TDataSet descendants. This component is placed on the Data Access page of the Component palette, not on the UniDAC page
Universal Data Access Components comes in three basic edition levels: UniDAC Standard Edition, UniDAC Professional Edition, and UniDAC Trial Edition.
UniDAC Standard Edition includes the UniDAC common engine, but does not include server-specific data providers. Required providers can be installed with ODAC, SDAC, MyDAC, IBDAC. UniDAC Standard Edition is a cost-effective solution for those database application developers who need only several of supported data providers, or already have some of DACs.
UniDAC Professional Edition shows off the full power of UniDAC, including UniDAC Standard Edition with support for four data access providers: Oracle, SQL Server, MySQL, InterBase/Firebird/Yaffil. In addition, UniDAC Professional Edition includes the DataSet Manager tool which is intended to organize datasets in your application.
UniDAC Trial Edition is the evaluation version of UniDAC. It includes all the functionality of UniDAC Professional Edition with a trial limitation of 60 days. C++Builder and supported .NET IDEs have additional trial limitations.
You can get Source Access to the UniDAC Standard and UniDAC Professional Editions by purchasing the special UniDAC Standard Edition with Source Code or UniDAC Professional Edition with Source Code. The Standard and Professional editions include the source code for all component classes. The source code of DataSet Manager is not distributed.
Currently UniDAC supports the following databases:
Oracle servers: 11g, 10g, 9i, 8i, 8.0, and 7.3, including Oracle 10g Express, Oracle 8i Personal, and Lite editions.
Oracle x86 clients: 11g, 10g, 9i, 8i, 8.0, and 7.3.
|Microsoft SQL Server|
Servers: SQL Server 2005 (including Compact and Express editions), SQL Server 2000, SQL Server 7, and MSDE.
Clients: SQL OLE DB and SQL Native Client.
MySQL servers: 5.1, 5.0, 4.1, 4.0, and 3.23.
MySQL Embedded servers: 5.1, 4.1, and 4.0.
MySQL clients: Direct mode, 5.1, 5.0, 4.1, 4.0, and 3.23.
InterBase: versions 5.x and higher.
Firebird: versions 2.x, 1.x.
UniDAC is compatible with the following IDEs:
UniDAC supports only Professional, Enterprise, and Architect IDE editions.
UniDAC Design-Time View