Drivers
The Data Abstract Server editions come with drivers for connecting to many popular commercial and open source databases, though if the database you are using isn't supported it is possible to write your own driver for Data Abstract for Delphi or to configure ADO.NET driver loading for Data Abstract for .NET.
Driver support in .NET
Drivers in Data Abstract for .NET are based on existing ADO.NET providers that the library leverages to communicate with the individual database back-ends. This allows Data Abstract to communicate with just about any database without requiring custom database specific code.
Driver configurations (exact driver assembly, support class names etc) are provided by an XML-based configuration file DataAbstract.daConfig.
The default version of this configuration file is embedded into the Data Abstract assemblies. It can be overridden by providing your own file with custom modifications at runtime.
Relativity Server always uses .NET drivers regardless of the installed Data Abstract version (whether it is .NET, Delphi, Cocoa or even Java package)
Drivers in Delphi
Drivers in Data Abstract for Delphi are implemented as special classes descending from TDADriverReference. Because each driver links in code (and in some cases dependencies on third party libraries), drivers need to be specifically added to a server project, either by simply referencing the appropriate unit that defines them, or by dropping a placeholder driver component on a form (which essentially just adds said unit reference).
Drivers are also available as standalone .dad files (essentially .dlls) that can be loaded dynamically at runtime.
Available Drivers
As discussed earlier the two server editions of Data Abstract come with support for many database already. Below you will find a table listing all the Databases that are supported. Of course, data from any of these drivers can be consumed by any client, regardless of platform.
Please view the individual topics to find out more about the individual drivers in question. Also refer to the Creating Drivers topic to find out more about easily adding support for additional drivers, whether you're a third party DAC developer or merely want to leverage an unsupported database provider in your own project.
.NET & Relativity
Platforms | |
---|---|
Microsoft SQL Server | MSSQL.NET (latest version) |
MSSQL2005.NET (MS SQL Server 2005 and above) | |
MSSQL2008.NET (MS SQL Server 2008 and above) | |
MSSQL2012.NET (MS SQL Server 2012 and above) | |
MSSQLCE.NET (Compact Edition) | |
Oracle | ORACLE.NET (Microsoft Oracle Data Provider. This data provider is considered as deprecated) |
ODP12c.NET (Managed Oracle Data Provider) | |
ODP10g.NET (Unmanaged Oracle Data Provider) | |
ODP9i.NET (Deprecated Unmanaged Oracle Data Provider) | |
- | - |
Actian Zen / Pervasive SQL | PSQL.NET |
Elevate DB | ElevateDB.NET |
Firebird | FB.NET (.NET 3.5 and below) |
FB4.NET (.NET 4.0+) | |
MySQL | MySql.NET |
MySqlv4.NET (obsolete driver definition) | |
NexusDB | NexusDB.NET |
PostgeSQL | NPGSQL.NET |
SQLite | SQLITE.NET |
Sybase Advantage | Advantage.NET |
Sybase SQL Anywhere | SQLAnywhere.NET |
- | - |
Generic Providers | |
ODBC Data Provider | ODBC.NET |
OLE DB Data Provider | OLEDB.NET |
ODBC Data Provider provides predefined profiles for following databases:
- Access
- InterBase
- MS SQL Server
- MySQL
- Oracle
- Sybase System 10
ODBC Data Provider provides predefined profiles for following databases:
- Access
- DB2
- MS SQL Server
- MySQL
- Oracle
- Paradox
Note: Actual availability of concrete database access drivers for OLE DB and ODBC heavily depends on the target environment. It is recommended to use managed data providers rather than ODBC or OLE DB to access a database.