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