Deploying dbExpress Database Applications

From RAD Studio
Jump to: navigation, search

Go Up to Deploying Database Applications


Note: For current information about supported database versions, see the Installation Notes and Release Notes for your product version. You can find these documents in the \bin folder of your product installation.


dbExpress is a set of thin, native drivers that provides fast access to database information.

Driver packages

You can deploy a dbExpress application either as a stand-alone executable file or as an executable file that deploys associated dbExpress driver packages. However, you always need to deploy the database DLL for whatever databases you are using.

There are separate driver packages for each driver, which eliminates the need for a dbxdrivers.ini file. The Data.DBXCommon.TDBXDriver implementations have default settings for both driver and connection properties. These settings can be overridden by connection property settings. This allows many connection property settings to be minimized to a small number of property settings, such as database, user, and password.

Driver packages also contain driver-specific metadata implementations. Metadata implementations are included in their respective driver package. This makes deployment of dbExpress applications compact, as only driver-specific metadata needs to be deployed. Previously, metadata for all databases was included in the deployment, even when the application was built to run against only one database.

SqlExpr.pas no longer has DbxDefaultDrivers in its uses clause. If driver units are not added to an application's form or data module, the application cannot load the driver. The new driver-specific units that must be added to a uses clause of your application are: dbxmysql, dbxInterbase, dbxdb2, dbxinformix, dbxmssql, dbxoracle, and dbxsybase. This is only needed for statically linked applications.

The following table lists the database packages needed for deployment for executables that are not stand-alone:

Note: All applications need the DbxCommonDriver240.bpl package if not built stand-alone. Compiler and product versions are listed in Compiler Versions.

dbExpress deployment with driver packages

Database package When to Deploy

DbxCommonDriver240.bpl

All applications connecting to databases

DBXInformixDriver240.bpl

Applications connecting to Informix databases

DBXOdbcDriver240.bpl

Applications connecting to ODBC databases

DBXInterBaseDriver240.bpl

Applications connecting to InterBase or To-Go databases

DBXOracleDriver240.bpl

Applications connecting to Oracle databases

DBXDb2Driver240.bpl

Applications connecting to DB2 databases

DBXSybaseASADriver240.bpl

Applications connecting to Adaptive Server Anywhere databases

DBXSybaseASEDriver240.bpl

Applications connecting to Sybase databases

DBXMSSQLDriver240.bpl

Applications connecting to MSSQL databases

DBXMySQLDriver240.bpl

Applications connecting to MySQL 5.1 databases

DBXFirebirdDriver240.bpl

Applications connecting to Firebird databases

DbxClient drivers require DbxClientDriver.bpl to be deployed if packages are used. Otherwise the entire driver can be linked into an executable file, and no additional package or DLL needs to be deployed.

Driver DLLs

For database applications using Dynalink drivers, you cannot deploy a stand-alone executable. Instead, you can deploy associated dbExpress drivers and DLLs with your executable. If you are using DataSnap, you need to include the DataSnap DLL drivers. The following table lists the appropriate DLLs and when to include them:

dbExpress deployment with driver DLLs

Database DLL When to deploy

No DLL needed

Applications connecting to Blackfish SQL databases

dbxadapter.dll

Adapter layer

dbxasa.dll

Applications connecting to Adaptive Server Anywhere databases

dbxase.dll

Applications connecting to Sybase databases

dbxdb2.dll

Applications connecting to DB2 databases

dbxfb.dll

Applications connecting to Firebird databases

dbxinf.dll

Applications connecting to Informix databases

dbxint.dll

Applications connecting to InterBase or To-Go databases

dbxmss.dll

Applications connecting to Microsoft SQL databases with SQL native client 2008

dbxmss9.dll

Applications connecting to Microsoft SQL databases with SQL native client 2005

dbxmys.dll

Applications connecting to MySQL databases

dbxora.dll

Applications connecting to Oracle databases

Midas.dll

Required by database applications that use client datasets

See Using dbExpress Components Index for more information about using the dbExpress components.

DBX on Multi-Device Applications

Important: In order to run, debug, or deploy a dbExpress application on a multi-device target, you must first enable the appropriate dbExpress drivers and libraries in the IDE using the Deployment Manager. On the Add Featured Files dialog box, you need to enable the drivers for the specific target platform (for example, Windows 32-bit, Windows 64-bit, or OS X).

The names of the various database drivers are the same on 32-bit Windows and on 64-bit Windows, but there are separate directories for each individual version. The names of the drivers for OS X, on the other hand, are different from the names on Windows.

The following table lists the appropriate libraries for the OS X platform and when to include them:

dbExpress deployment for Mac with libraries

Database Library    When to deploy

libsqlinf.dylib

For applications connecting to Informix databases

libsqlora.dylib

For applications connecting to Oracle databases

libsqlasa.dylib

For applications connecting to Adaptive Server Anywhere databases

libsqlmys.dylib

For applications connecting to MySQL databases

libsqlfb.dylib

For applications connecting to Firebird databases

libsqlib.dylib

For applications connecting to Interbase databases

libmidas.dylib

Required by database applications that use client datasets

If you choose to deploy the dbxconnections.ini and dbxdrivers.ini files, look in the local directory on Macintosh, that is /[user’s home dir]/Library/Preferences, and in /Library/Preferences.

See Also