Back to Devexpress

VCL Reports/Dashboards: Supported Database Systems

vcl-405703-expresscrossplatformlibrary-vcl-backend-vcl-backend-supported-database-systems.md

latest19.6 KB
Original Source

VCL Reports/Dashboards: Supported Database Systems

  • Apr 06, 2026
  • 8 minutes to read

This topic lists database engines you can use with ExpressReports and ExpressDashboards. The list includes database provider assemblies, corresponding XPO data storage adapters, and connection string examples. Each section is dedicated to an individual database management system / data management technique and includes references to corresponding step-by-step instructions.

In this topic…

VCL Dataset & Data Source Components

You can use the TdxBackendDataSetJSONConnection component to bind TdxDashboard/TdxDashboardControl and TdxReport components to one or multiple datasets (TdxMemData, TFDTable, TFDQuery, and other TDataSet descendants).

TdxBackendDataSetJSONConnection maintains a collection of dataset links (TdxBackendDataSetCollectionItem) you can associate with TDataSource components, similar to any other data-aware VCL control (TcxGrid, for instance).

Tip

Refer to the following topic for step-by-step instructions on using in-memory JSON data with ExpressReports and ExpressDashboards: How to Use Data Source and Data Set Components.

In-Memory/Remote Web Service

To bind TdxDashboard/TdxDashboardControl and TdxReport components to data stored in memory (in JSON format), use the TdxBackendInMemoryJSONConnection component.

You can use the TdxBackendInMemoryJSONConnection.ConnectionString property to:

  • Directly specify data as a JSON string.
  • Specify a Web Service Endpoint URL or a path to the source JSON file.

Connection String Examples

Specify JSON Data in Code

The following JSON data string example defines a simple table containing three columns ( id , Region , and Sales ) and five rows:

delphi
dxBackendInMemoryJSONConnection1.ConnectionString := 'Json=''' +

    '[{"id": 1, "Region": "Asia", "Sales": 4.7685},' + // Row #1
     '{"id": 2, "Region": "Australia", "Sales": 1.9576},' + // Row #2
     '{"id": 3, "Region": "Europe", "Sales": 3.3579},' + // Row #3
     '{"id": 4, "Region": "North America", "Sales": 3.7477},' + // Row #4
     '{"id": 5, "Region": "South America", "Sales": 1.8237}]'''; // Row #5
cpp
dxBackendInMemoryJSONConnection1->ConnectionString = "Json=\"\""

    L"[{\"id\": 1, \"Region\": \"Asia\", \"Sales\": 1.9576}," // Row #1
     L"{\"id\": 2, \"Region\": \"Australia\", \"Sales\": 1.9576}," // Row #2
     L"{\"id\": 3, \"Region\": \"Europe\", \"Sales\": 3.3579}," // Row #3
     L"{\"id\": 4, \"Region\": \"North America\", \"Sales\": 3.7477}," // Row #4
     L"{\"id\": 5, \"Region\": \"South America\", \"Sales\": 1.8237}]\"\"" // Row #5

Tip

Alternatively, you can call the TdxBackendCustomInMemoryJSONConnection.SetJSONValue procedure and pass a JSON data string as a parameter. Refer to the procedure description for detailed information and a code example.

Web Service Endpoint Connection String

delphi
dxBackendInMemoryJSONConnection1.ConnectionString :=

    'Uri=https://northwind.netcore.io/customers.json;' + // Specifies the path to a source JSON file
    'Username=user;' + // Specifies a valid user name
    'Password=pwd;' + // Specifies the corresponding password for the user name
    'MyAuthHeader1=secretToken1;MyAuthHeader2=secretToken2;' + // Specifies authentication tokens
    'query:id=123456;query:name=MyName;' // Specifies the required query ID and name
cpp
dxBackendInMemoryJSONConnection1->ConnectionString =

    L"Uri=https://northwind.netcore.io/customers.json;" // Specifies the path to a source JSON file
    L"Username=user;" // Specifies a valid user name
    L"Password=pwd;" // Specifies the corresponding password for the user name
    L"MyAuthHeader1=secretToken1;MyAuthHeader2=secretToken2;" // Specifies authentication tokens
    L"query:id=123456;query:name=MyName;" // Specifies the required query ID and name

Tip

Refer to the following topic for step-by-step instructions on using in-memory JSON data with ExpressReports and ExpressDashboards: How to Use Memory-Based Data Sources.

SQLite

SQLite is an open-source relational database engine.

Tip

The VCL Backend implementation has built-in support for Microsoft SQL, Azure SQL, and SQLite database engines.

You can use the TdxBackendDatabaseSQLConnection component to connect TdxDashboard/TdxDashboardControl and TdxReport components to these databases without additional dependencies and extra configuration.

|

Version

|

Database Provider Assemblies

|

NuGet Packages

| | --- | --- | --- | |

SQLite 3

|

Microsoft.Data.SQLite.dll 8.*

|

Microsoft.Data.SQLite

|

Connection String Example

delphi
dxBackendDatabaseSQLConnection1.ConnectionString :=

    'XpoProvider=SQLite;' + // Specifies the database engine type
    'Data Source=C:\Test\MyDatabase.sqlite'; // Specifies the path to a local database file
cpp
dxBackendDatabaseSQLConnection1->ConnectionString =

    L"XpoProvider=SQLite;" // Specifies the database engine type
    L"Data Source=C:\\Test\\MyDatabase.sqlite"; // Specifies the path to a local database file

Tip

Refer to the following topic for step-by-step instructions on using SQLite databases with ExpressReports and ExpressDashboards: How to Use SQLite.

Microsoft SQL Server & Azure SQL

Microsoft SQL Server and Azure SQL Database are proprietary relational database management systems developed by Microsoft.

Tip

The VCL Backend implementation has built-in support for Microsoft SQL , Azure SQL , and SQLite database engines.

You can use the TdxBackendDatabaseSQLConnection component to connect TdxDashboard/TdxDashboardControl and TdxReport components to these databases without additional dependencies and extra configuration.

|

Version

|

Database Provider Assemblies

|

NuGet Packages

| | --- | --- | --- | |

Microsoft SQL Server 7.0, 2000, 2005, 2008, 2012, 2014, 2016, 2019, 2022, 2025, Azure™ SQL

|

Microsoft.Data.SqlClient.dll 5.*

|

Microsoft.Data.SqlClient

|

Connection String Examples

Microsoft SQL Server

delphi
dxBackendDatabaseSQLConnection1.ConnectionString :=

   'XpoProvider=MSSqlServer;' + // Specifies the database engine type
   'Data Source=(local);' + // Specifies the database host
   'User ID=username;' + // Specifies a valid user name
   'Password=password;' + // Specifies the corresponding password for the user name
   'Initial Catalog=database;' + // Specifies the initial catalog for the target database
   'Persist Security Info=true'; // Enables the "Persist Security Info" flag
cpp
dxBackendDatabaseSQLConnection1->ConnectionString =

    L"XpoProvider=MSSqlServer;" // Specifies the database engine type
    L"Data Source=(local);" // Specifies the database host
    L"User ID=username;" // Specifies a valid user name
    L"Password=password;" // Specifies the corresponding password for the user name
    L"Initial Catalog=database;" // Specifies the initial catalog for the target database
    L"Persist Security Info=true;" // Enables the "Persist Security Info" flag

Microsoft Azure SQL

delphi
dxBackendDatabaseSQLConnection1.ConnectionString :=

    'XpoProvider=MSSqlServer;' + // Specifies the database engine type
    'Data Source=tcp:YourServerName.database.windows.net;' + // Specifies the database host
    'User Id=azureuser;' + // Specifies a valid user name
    'Password=password;' + // Specifies the corresponding password for the user name
    'Initial Catalog=DXApplication384'; // Specifies the initial catalog for the target database
cpp
dxBackendDatabaseSQLConnection1->ConnectionString =

    L"XpoProvider=MSSqlServer;" // Specifies the database engine type
    L"Data Source=tcp:YourServerName.database.windows.net;" // Specifies the database host
    L"User Id=azureuser;" // Specifies a valid user name
    L"Password=password;" // Specifies the corresponding password for the user name
    L"Initial Catalog=DXApplication384"; // Specifies the initial catalog for the target database

Tip

Refer to the following topic for step-by-step instructions on using Microsoft SQL Server/Azure SQL databases with ExpressReports and ExpressDashboards: How to Use Microsoft SQL Server/Azure SQL Databases.

PostgreSQL

PostgreSQL is an open-source relational database management system.

VersionsDatabase Provider AssemblyNuGet Package
PostgreSQL 7, 8, 9, 10, 11, 12, 15, 16, 17, 18Npgsql.dll 9.*Npgsql

Connection String Example

delphi
dxBackendDatabaseSQLConnection1.ConnectionString :=

    'XpoProvider=Postgres;' + // Specifies the database engine type
    'Server=127.0.0.1;' + // Specifies the database host IP address
    'User ID=myuser;' + // Specifies a valid user name
    'Password=123;' + // Specifies the corresponding password for the user name
    'Database=postgres;' + // Specifies the target database name
    'Encoding=UNICODE'; // Sets UTF-8 as the required encoding
cpp
dxBackendDatabaseSQLConnection1->ConnectionString =

    L"XpoProvider=Postgres;" // Specifies the database engine type
    L"Server=127.0.0.1;" // Specifies the database host IP address
    L"User ID=myuser;" // Specifies a valid user name
    L"Password=123;" // Specifies the corresponding password for the user name
    L"Database=postgres;" // Specifies the target database name
    L"Encoding=UNICODE"; // Sets UTF-8 as the required encoding

Tip

Refer to the following topic for step-by-step instructions on using PostgreSQL databases with ExpressReports and ExpressDashboards: How to Use PostgreSQL.

Oracle

Oracle Database is a proprietary multi-model database management system developed by the Oracle Corporation.

VersionsDatabase Provider AssemblyNuGet Package
Oracle 9i, 10g, 11g, 12c, 18c, 21c, 23ai, 26aiOracle.ManagedDataAccessCore.dll 23.*Oracle.ManagedDataAccess.Core

Connection String Example

delphi
dxBackendDatabaseSQLConnection1.ConnectionString :=

    'XpoProvider=Oracle;' + // Specifies the database engine type
    'Data Source=TORCL;' + // Specifies the target database
    'User ID=MyUserName;' + // Specifies a valid user name
    'Password=MyPassword'; // Specifies the corresponding password for the user name
cpp
dxBackendDatabaseSQLConnection1->ConnectionString =

    L"XpoProvider=Oracle;" // Specifies the database engine type
    L"Data Source=TORCL;" // Specifies the target database
    L"User ID=MyUserName;" // Specifies a valid user name
    L"Password=MyPassword;" // Specifies the corresponding password for the user name

Tip

Refer to the following topic for step-by-step instructions on using Oracle databases with ExpressReports and ExpressDashboards: How to Use Oracle Databases.

MySQL

MySQL is an open-source relational database management system developed by the Oracle Corporation.

|

Version

|

Database Provider Assemblies

|

NuGet Packages

| | --- | --- | --- | |

MySQL 5.0, 5.1, 5.7, 8.0.45, 8.4.8, 9.6.0

|

  • MySql.Connector.dll 2.*
  • MySql.Data.dll 9.*

|

|

Connection String Example

delphi
dxBackendDatabaseSQLConnection1.ConnectionString :=

    'XpoProvider=MySql;' + // Specifies the database engine type
    'Server=127.0.0.1;' + // Specifies the database server host IP address
    'User ID=MyUserName;' + // Specifies a valid user name
    'Password=MyPassword;' + // Specifies the corresponding password for the user name
    'Database=MyDatabase;' + // Specifies the target database name
    'Persist Security Info=true;Charset=utf8'; // Specifies additional attributes
cpp
dxBackendDatabaseSQLConnection1->ConnectionString =

    L"XpoProvider=MySql;" // Specifies the database engine type
    L"Server=127.0.0.1;" // Specifies the database server host IP address
    L"User ID=MyUserName;" // Specifies a valid user name
    L"Password=MyPassword;" // Specifies the corresponding password for the user name
    L"Database=MyDatabase;" // Specifies the target database name
    L"Persist Security Info=true;Charset=utf8"; // Specifies additional attributes

Tip

Refer to the following topic for step-by-step instructions on using MySQL databases with ExpressReports and ExpressDashboards: How to Use MySQL.

Firebird

Firebird is an open-source SQL relational database management system.

VersionsDatabase Provider AssemblyNuGet Package
Firebird 1.5, 2.5.7, 3.0.13, 4.0.6, 5.0.3FirebirdSql.Data.FirebirdClient.dll 10.*FirebirdSql.Data.FirebirdClient

Connection String Example

delphi
dxBackendDatabaseSQLConnection1.ConnectionString :=

    'XpoProvider=Firebird;' + // Specifies the database engine type
    'DataSource=localhost;' + // Specifies the database host address (example: IP 127.0.0.1)
    'User=SYSDBA;' + // Specifies a valid user name
    'Password=password;' + // Specifies the corresponding password for the user name
    'Database=C:\Program Files\Firebird\Firebird_5_0\examples\empbuild\EMPLOYEE.FDB;' +
    'ServerType=0;Charset=NONE'; // Specifies additional attributes
cpp
dxBackendDatabaseSQLConnection1->ConnectionString =

    L"XpoProvider=Firebird;" // Specifies the database engine type
    L"Datasource=localhost;" // Specifies the database host address (example: IP 127.0.0.1)
    L"User=SYSDBA;" // Specifies a valid user name
    L"Password=password;" // Specifies the corresponding password for the user name
    L"Database=C:\\Program Files\\Firebird\\Firebird_5_0\\examples\\empbuild\\EMPLOYEE.FDB;"
    L"ServerType=0;Charset=NONE"; // Specifies additional attributes

Tip

Refer to the following topic for step-by-step instructions on using Firebird databases with ExpressReports and ExpressDashboards: How to Use Firebird.

See Also

Backend for VCL Reports/Dashboards

VCL Reports/Dashboards App Deployment

DevExpress VCL Shared Libraries