Adb Supported Databases
The following Adb providers are available, each of which wraps and extends a single .NET database provider and make it easy to execute SQL in your ETL applications. Each Adb provider can support one or more database server types.
Please also see SQL Database Access for information that applies to all providers.
Adb Provider | Supported Databases | Adb Provider Type |
---|---|---|
MySql.Data.MySqlClient | MariaDB™, v5.5, v10.1 onwards MySQL™, v5.6 onwards |
Targeted |
MySqlConnector | MariaDB™, v5.5, v10.1 onwards MySQL™, v5.6 onwards |
Targeted, supports bulk insert |
Npgsql | PostgreSQL®, current versions (5 years) | Targeted |
System.Data.Odbc | Most ODBC data sources | Universal |
System.Data.Odbc for SQL Server | Microsoft SQL Server® 2008 onwards | Universal, Targeted |
Microsoft.Data.SqlClient | Microsoft SQL Server® 2008 onwards | Targeted |
System.Data.SQLite | SQLite v3.x | Targeted |
Note
- Additional targeted providers for more databases beyond the above are planned, prioritized by user demand.
- While Adb workers can only be used with the above supported Adb providers,
and are very easy to use, one can also use traditional .NET data access code
to work with other databases. This includes integrating their data with all the
non-Adb dataflow workers, e.g.:
- Using an OLE DB .NET provider with ActionSource<TOutput> to read database data into the dataflow, see Custom Non-Adb Development
- Using a .NET Informix® provider with ActionTarget<TInput, TError> to write dataflow data to an Informix database
Adb Provider Type
The above Adb providers can be classified into three groups depending on type of underlying .NET provider, and whether they are configured for a specific data source or not, as described in the following sections.
Adb providers using a targeted vs. a universal .NET provider for the same data source can have different performance (in either direction) for reading and writing rows etc., consider trying both to test this if performance is very important.
Targeted .NET Provider
Each of these providers only work with a particular data source type. They usually support the most features, including all optional provider services and provider-specific data types, and in some cases bulk inserts. In most cases they have equal or better performance than below universal provider types, and are therefore a good default choice where available.
Universal .NET Provider, Targeted Configuration
These providers use a universal .NET provider which has been configured to work with a particular data source. Typically all optional provider services will have been implemented, but provider-specific data types won't be supported, and bulk inserts might or might not be supported. They are a good choice when the data source has no Adb provider with the correct targeted .NET provider.
Universal .NET Provider, Untargeted Configuration
These providers use a universal .NET provider, but have not been configured to work with any particular data source. These work with many databases, but will lack some optional provider services, e.g. AdbTableNonQueryWorker / TableCommand, and won't support provider-specific data types.