dotConnect Universal Overview
dotConnect Universal offers universal access to data of different databases for
the Microsoft .NET Framework. It supports most of major database servers, including
Microsoft SQL Server, Microsoft Access, Oracle, DB2, MySQL, PostgreSQL, SQLite, InterBase, and Firebird.
Other servers can be accessed through their ADO.NET, OLE DB and ODBC providers.
dotConnect Universal is based on ADO.NET technology and can be used in the same way
as the SQL Server .NET Data Provider.
The main feature of dotConnect Universal is an access to multiple database servers at the same code.
With dotConnect Universal it is possible to avoid writing conditional code for different providers
or using ADO.NET interfaces directly. dotConnect Universal implements full support of design-time
development and integration with IDE, which allows to reduce development time greatly.
dotConnect Universal doesn't implement database specific access layer for all databases,
it uses native ADO.NET providers and depends on their
functionality. The Professional Edition of dotConnect Universal includes bundled data
providers for Oracle, MySQL and PostgreSQL (see diagram below). For all other servers you need a native
data provider.
dotConnect Universal provides functionality for connecting to a database,
executing commands, and retrieving results. These results can be processed
directly or placed in an ADO.NET DataSet for further processing in
disconnected state. While in the DataSet, data can be exposed to the user,
combined with other data from multiple sources, or passed remotely between
tiers. Any processing performed on the data in the DataSet can then be
reconciled with the database.
The following diagram illustrates dotConnect Universal architecture. The green area represents some of
dotConnect Universal components. The lime area unites bundled providers in the Professional Edition.
The rest of the diagram objects represent data access elements inside and outside of the .NET Framework.
There are core classes that make up dotConnect Universal. The
following table describes those classes and their functions.
- UniConnection - Establishes a connection to the database server and begins a transaction.
- UniCommand - Executes SQL statements and stored procedures at database, and exposes parameters.
- UniDataReader - Exposes and reads a forward-only stream of data from the database.
- UniDataAdapter - Populates a DataSet and resolves updates with the database.
- UniTransaction - Manages database transactions.
- UniParameter - Defines input, output, and return value parameters for commands and stored procedures.
- UniException - Returned when an error is encountered on a database.
Along with the core classes listed in the preceding table, dotConnect Universal
also contains the classes extending its base functionality and
allowing to accomplish additional tasks.
- UniCommandBuilder - A helper object that will automatically generate command properties of
UniDataAdapter and populate the UniParameter collection of UniCommand object.
- UniConnectionStringBuilder - Designed to construct a connection string by assigning values
to appropriate properties.
- UniMonitor - Monitors dynamic SQL execution in applications that use dotConnect Universal.
- UniProvider - Represents a custom ADO .NET data provider which can be used with dotConnect Universal provider.
- UniScript - Executes series of SQL statements separated by special symbols.
Key features
The following list presents the main advantages of the dotConnect Universal.
- Universal access to data of different databases
- Supports all major databases
- Supports most of the popular ADO.NET providers
- 100% managed code
- High performance
- Bundled data providers for Oracle, MySQL, PostgreSQL, and SQLite
- UniSQL for writing server-independent queries
- Provider-specific types infrastructure
- Fill DataSet with several CURSOR for Oracle Database
- Asynchronous execution support
- DataSet Wizard to leverage design-time setup
- Generate DataSet Wizard
- Support for Data Access Application Block in Enterprise Library
- ASP.NET data providers: Membership provider, Role provider,
Session State provider, Profile provider
- Easy to deploy
- Base-Class-Based provider model
- .NET Compact Framework support
- Advanced connection pooling
- UniScript component to execute scripts
- Ability to retrieve metadata information
- Ability of monitoring query and stored procedures execution
- Advanced design-time editors
- Easy migration from SQL Server, OLE DB, ODBC and Oracle Data Providers with Migration Wizard
- Help integrated into Visual Studio .NET and Borland Delphi
- Free support for registered users during 1 year
- Licensed per a developer without royalty fee
Supported providers
dotConnect Universal is shipped with support for a set of ADO.NET providers.
The free Standard Edition of dotConnect Universal doesn't include any of the supported providers.
You need to install necessary providers separately. Note that Standard Edition does not work with Expression Editions of the dotConnect providers.
The Professional Edition of dotConnect Universal
includes the dotConnect for Oracle, dotConnect for MySQL, dotConnect for PostgreSQL, and dotConnect for SQLite data providers
(run time of the Standard Edition of these providers).
Following table contains name and description of data providers natively supported by dotConnect Universal:
| Provider |
Description |
| .NET Framework Data Provider for SQL Server |
The .NET Framework Data Provider for SQL Server uses its own protocol
to communicate with SQL Server. It 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. |
| .NET Framework Data Provider for OLE DB |
The .NET Framework Data Provider for OLE DB uses native OLE DB
through COM interop to enable data access. |
| .NET Framework Data Provider for ODBC |
The .NET Framework Data Provider for ODBC uses native
ODBC Driver Manager through COM interop to enable data access. |
| .NET Framework Data Provider for Oracle |
The .NET Framework Data Provider for Oracle enables data access
to Oracle data sources through Oracle client connectivity software.
The data provider supports Oracle client software version 8.1.7 and later. |
| Microsoft Access Provider |
The provider for MS Access enables data access to Microsoft Access data
sources through OLE DB. Recommended for single-tier applications using Microsoft Access databases.
|
| dotConnect for Oracle |
dotConnect for Oracle provides direct access to Oracle database server with or without
the Oracle Call Interface (OCI).
The data provider supports Oracle Client software version 8.0 and later. |
| dotConnect for MySQL |
dotConnect for MySQL is a data provider for direct access to MySQL database server
for the Microsoft .NET Framework. The data provider can access MySQL server either
using native MySQL network protocol directly or through MySQL client library. |
| dotConnect for PostgreSQL |
dotConnect for PostgreSQL is a data provider for direct access to PostgreSQL database
for the Microsoft .NET Framework. The data provider uses native message-based protocol
for communication with PostgreSQL database server. |
| dotConnect for SQLite |
dotConnect for SQLite is a data provider for direct access to SQLite database
for the Microsoft .NET Framework. |
| Oracle Data Provider for .NET |
The Oracle Data Provider for .NET enables data access to Oracle data sources
through Oracle client connectivity software. The data provider supports Oracle client
software version 9.2 and later. |
| IBM DB2.NET Data Provider |
The DB2 .NET Data Provider allows your .NET applications to access Version 8 DB2
Universal Database on Windows, UNIX, and Linux-based computers, and Version 6
and Version 7 of DB2 Universal Database for OS/390 and z/OS via DB2 Connect. |
| Firebird ADO.NET Provider |
The .NET Data Provider for Firebird 1.x, 2.0, and InterBase 7.5 databases. Available for .NET Framework 2.0 only. |
Any provider not listed here still can be used with dotConnect Universal.
Refer to dotConnect Universal and Arbitrary Data Providers topic in the documentation.