Skip to main content
All docs
V25.2
  • VCL Backend: Supported Database Systems

    • 8 minutes to read

    The VCL backend and data connection components support multiple relational database management systems (RDBMS). To connect your applications that are powered by ExpressReports or ExpressDashboards to a specified database, use the corresponding database provider assembly[1] with a TdxBackendDatabaseSQLConnection component.[2]

    This topic lists all supported database engines (including database provider assemblies), corresponding XPO data storage adapters, and connection string examples. The topic subsections listed below are dedicated to individual database management systems and provide references to step-by-step instructions for how to use these databases as data sources in your app.

    Microsoft SQL Server & Azure SQL

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

    Tip

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

    You can use the TdxBackendDatabaseSQLConnection component to connect 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, SQL Azure™

    Microsoft.Data.SqlClient.dll 5.*

    Microsoft.Data.SqlClient

    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

      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
    

    SQLite

    SQLite is an open-source relational database engine.

    Tip

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

    You can use the TdxBackendDatabaseSQLConnection component to connect 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

      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 how to use SQLite databases in your applications powered by ExpressReports and ExpressDashboards: How to Use SQLite.

    In-Memory

    To bind 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

    JSON String Data

    The following JSON data string example defines a simple table containing two columns (id and caption) and two rows:

      dxBackendInMemoryJSONConnection1.ConnectionString :=
        'Json=''[{"id": 1, "caption": "test1"},{"id": 2, "caption": "test2"}]''';
    

    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 in your ExpressReports and ExpressDashboards-powered applications: How to Use Memory-Based Data Sources.

    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 in your ExpressReports and ExpressDashboards-powered applications: How to Use PostgreSQL.

    MySQL

    MySQL is an open-source relational database management system.

    Version

    Database Provider Assemblies

    NuGet Packages

    MySQL 5.0, 5.1, 5.7, 8.0.31, 9.1.0

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

    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
    

    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 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
    

    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 how to use Firebird databases in your applications powered by ExpressReports and ExpressDashboards: How to Use Firebird.

    Footnotes
    1. Microsoft SQL, Microsoft Azure, and SQLite require no database provider assembly (VCL backend implementation has built-in support for these database management systems).

    2. If you need to store data in memory, use the TdxBackendInMemoryJSONConnection component instead.

    See Also