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.