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.
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
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:
|.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.
New features in dotConnect Universal 3.50
- Visual Studio 2015 Release Candidate is supported
- Visual Studio 2013 is supported
- The DateTime2 member is added to the UniDbType enumeration
- The Enterprise Library 6 support is added; all previous versions of Enterprise Library are no longer maintained
- The enableExpiredSessionAutoDeletion and expiredSessionAutoDeletionInterval options for deleting expired sessions are added to the session-state store provider definition in the web.config file
- The performance of the GetSchemaTable method of UniDataReader class for SQLite is improved
- The behaviour is changed: installation with the /VERYSILENT install parameter will uninstall the other version of the provider without any dialog box if it is installed
- The behaviour is changed: now several versions of the sqlite3.dll library (x86 and x64) are available with the installation package
- The behaviour is changed: the UniMonitor now hides information about the password connection string parameter
- The behaviour is changed: the GetSchemaTable method of UniDataReader returns information on whether a column is unique for SQLite only when the command was performed with CommandBehavior.KeyInfo