VCL Reports/Dashboards: Supported Database Systems
- 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-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:
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
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
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
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.* |
Connection String Example
dxBackendDatabaseSQLConnection1.ConnectionString :=
'XpoProvider=SQLite;' + // Specifies the database engine type
'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.* |
Connection String Examples
Microsoft SQL Server
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
Microsoft Azure SQL
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
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.
| Versions | Database Provider Assembly | NuGet Package |
|---|---|---|
| PostgreSQL 7, 8, 9, 10, 11, 12, 15, 16, 17, 18 | Npgsql.dll 9.* | Npgsql |
Connection String Example
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
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.
| Versions | Database Provider Assembly | NuGet Package |
|---|---|---|
| Oracle 9i, 10g, 11g, 12c, 18c, 21c, 23ai, 26ai | Oracle.ManagedDataAccessCore.dll 23.* | Oracle.ManagedDataAccess.Core |
Connection String Example
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
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 |
|
Connection String Example
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
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.
| Versions | Database Provider Assembly | NuGet Package |
|---|---|---|
| Firebird 1.5, 2.5.7, 3.0.13, 4.0.6, 5.0.3 | FirebirdSql.Data.FirebirdClient.dll 10.* | FirebirdSql.Data.FirebirdClient |
Connection String Example
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
Tip
Refer to the following topic for step-by-step instructions on using Firebird databases with ExpressReports and ExpressDashboards: How to Use Firebird.