Skip to main content
A newer version of this page is available. .

Database Systems Supported by XPO

  • 4 minutes to read

XPO supports multiple database systems. Whether you want to connect to a particular database or persist your objects in that database, all you need to do is to use the corresponding XPO data store adapter. For your convenience, each XPO data store adapter’s name contains the name of the database system it supports.

Note

XPO implements MS Access, MS SQL Server, and MS SQL Azure database providers and incorporates the corresponding data store adapters (see AccessConnectionProvider and MSSqlConnectionProvider, respectively). With an InMemoryDataStore (not intended to be used with large data sets), XPO allows you to create an in-memory data store and manipulate objects within it.

All XPO data store adapters are declared in the DevExpress.Xpo.DB namespace of the DevExpress.Xpo.v18.2.dll assembly. The following table lists them along with the corresponding database provider assemblies they require.

XPO supports 14 database engines. The following table lists them along with the corresponding XPO data store adapters and database provider assemblies they require.

Database Engine

Version(s)

XPO Data Store Adapter

.NET Standard 2.0 Support

Database Provider Assembly

Advantage

Advantage Database Server v9.1, Advantage Database Server v10.1, Advantage Database Server v11.1

AdvantageConnectionProvider

 

Advantage.Data.Provider.dll 9.10.2.0

Advantage.Data.Provider.dll 10.10.0.49

Advantage.Data.Provider.dll 11.10.2.24

ASA

SQL Anywhere 16, SQL Anywhere 17

AsaConnectionProvider

 

iAnywhere.Data.SQLAnywhere.dll 16.0.0.13242

Sap.Data.SQLAnywhere.v4.0 17.0.0.13584

Sap.Data.SQLAnywhere.v4.5 17.0.0.13584

ASE

Sybase Adaptive Server 12, Sybase Adaptive Server 15.5, Sybase Adaptive Server 16

AseConnectionProvider

 

Sybase.Data.AseClient.dll 1.15.50.0

Sybase.AdoNet2.AseClient 16.0.0.2

Sybase.AdoNet35.AseClient 16.0.0.2

Sybase.AdoNet4.AseClient 16.0.0.2

DB2

DB2 9.7.4

DB2ConnectionProvider

yes

IBM.Data.DB2.dll 9.7.4.4

Firebird

Firebird 1.5, Firebird 2.5.7, Firebird 3.0.2

FirebirdConnectionProvider

yes

FirebirdSql.Data.Firebird.dll 2.5.1.0

FirebirdSql.Data.FirebirdClient.dll 5.12.1.0

MSAccess

Microsoft Jet

AccessConnectionProvider

 

System.Data.dll

MSSqlServer

Microsoft SqlServer 7.0, Microsoft SqlServer 2000, MS SQL Server 2000 Desktop Engine (MSDE 2000), Microsoft SQL Server 2005,

SQL Server 2005 Express Edition, SQL Server 2008, SQL Azure™ Database, SQL Server 2008 R2, SQL Server 2008 R2 Express, SQL Server 2012, SQL Server 2012 Express (including LocalDB), SQL Server 2014, SQL Server 2014 Express (including LocalDB), SQL Server 2016, SQL Server 2016 Express (including LocalDB), SQL Server 2017

MSSqlConnectionProvider

yes

System.Data.dll

System.Data.SqlClient 4.4.0 (.NET Standard 2.0)

MSSqlServerCE

Microsoft SqlServer 2005 Mobile, SQL Server 2005 Compact Edition (Microsoft SqlServer 2005 Everywhere Edition CTP), SQL Server Compact 3.5,

SQL Server Compact 4.0

MSSqlCEConnectionProvider

 

System.Data.SqlServerCe.dll 3.5.0

System.Data.SqlServerCe.dll 4.0.8482.1

MySql

MySQL Server 4.1, MySQL Server 5.0, MySQL Server 5.1, MySQL Server 5.7, MySQL Server 8.0.12

MySqlConnectionProvider

yes

MySql.Data.dll 8.0.12.0 (.NET Standard 2.0)

Oracle

Oracle 9i, Oracle 10g, Oracle 11g, Oracle 12c

OracleConnectionProvider

ODPConnectionProvider

ODPManagedConnectionProvider

yes

System.Data.OracleClient.dll 2.0.0.0

Oracle.DataAccess.dll 4.122.1.0

Oracle.ManagedDataAccess.dll 4.122.1.0

Oracle.ManagedDataAccess.Core.dll 2.18.3 (.NET Standard 2.0)

Pervasive

Pervasive PSQL 9, Pervasive PSQL 10, Pervasive PSQL 11

PervasiveSqlConnectionProvider

 

Pervasive.Data.SqlClient.dll 2.10.0.15

Pervasive.Data.SqlClient.dll 3.5.0.1811

PostgreSQL

PostgreSQL 7, PostgreSQL 8, PostgreSQL 9, PostgreSQL 10, PostgreSQL 11

PostgreSqlConnectionProvider

yes

Npgsql.dll 2.0.11.0

Npgsql.dll 3.2.5.0

Npgsql.dll 3.2.5.0 (.NET Standard 2.0)

Npgsql.dll 4.0.3.0

Npgsql.dll 4.0.3.0 (.NET Standard 2.0)

SQLite

SQLite 3

SQLiteConnectionProvider

yes

System.Data.SQLite.dll 1.0.88.0

Microsoft.Data.SQLite 2.0.0 (.NET Standard 2.0)

VistaDB

VistaDB 4, VistaDB 5

VistaDBConnectionProvider

 

VistaDB.4.dll 4.0.0.0

VistaDB.5.NET40.dll 5.2.0.0

Note that the database provider assembly versions listed in the table above are the versions that have been tested with the current XPO version. Since XPO loads ADO.NET provider assemblies dynamically, you can use any specific version of the provider.

Note

XPO does not support tables with multi-column (compound) keys or indexes in ASE databases. To avoid exceptions when connecting to ASE databases containing these tables, use one-column keys or indexes.

To make XPO use your database server, you should do the following.

Example

To connect to the MySql database, add the MySql.Data assembly to your project’s References. Then you can use the following code to create a connection to the database.


using DevExpress.Xpo;
using DevExpress.Xpo.DB;
// Connects to a database
static void Main() {
    string connectionString =
        MySqlConnectionProvider.GetConnectionString("DBSERVER", "user", "pwd", "MyApp");
    IDataLayer dataLayer =
       XpoDefault.GetDataLayer(connectionString, AutoCreateOption.DatabaseAndSchema);
    XpoDefault.DataLayer = dataLayer;
    Session session = new Session();
    Application.Run(new MainForm());
}
See Also