RAD Studio |  |

Deploying dbExpress Database Applications
Driver packages | Driver DLLs | See Also
Collapse All

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

Driver packages

You can deploy a dbExpress application either as a standalone 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 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. The DbxReadOnlyMetaData and DbxMetaData packages that contained metadata implementations for all drivers are no longer needed and have been removed from the product. Instead, these metadata implementations are included in their respective driver package. This makes deployment of dbExpress applications more compact, since 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. If runtime packages are used, the number needed for deployment has been reduced by 2.

SqlExpr.pas no longer has DbxDefaultDrivers in its uses clause. If driver units are not added to an applications 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, dbxsybase, and dbxclient (if using Blackfish SQL). This is only needed for statically linked applications.

This table below lists the database packages needed for deployment for non-standalone executables.

Note: All applications need the DbxCommonDriver120.bpl package if not built standalone.

dbExpress deployment with driver packages

Database package | When to Deploy
DbxCommonDriver120.bpl | All applications connecting to databases
DBXClientDriver120.bpl | Applications connecting to Blackfish SQL databases
DBXInformixDriver120.bpl | Applications connecting to Informix databases
DBXInterBaseDriver120.bpl | Applications connecting to InterBase databases
DBXOracleDriver120.bpl | Applications connecting to Oracle databases
DBXDb2Driver120.bpl | Applications connecting to DB2 databases
DBXSybaseASADriver120.bpl | Applications connecting to Adaptive Sybase Anywhere databases
DBXSybaseASEDriver120.bpl | Applications connecting to Sybase databases
DBXMSSQLDriver120.bpl | Applications connecting to MSSQL databases
DBXMySQLDriver120.bpl | Applications connecting to MySQL 5.0.27 databases

DbxClient drivers, currently used by Blackfish SQL, 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 standalone 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. 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
dbxinf.dll | Applications connecting to Informix databases
dbxint.dll | Applications connecting to InterBase databases
dbxora.dll | Applications connecting to Oracle databases
dbxdb2.dll | Applications connecting to DB2 databases
dbxasa.dll | Applications connecting to Adaptive Sybase Anywhere databases
dbxase.dll | Applications connecting to Sybase databases
dbxmss.dll | Applications connecting to MSSQL databases
dbxmys.dll | Applications connecting to MySQL 5.0.27 databases
Midas.dll | Required by database applications that use client datasets

See Using Unidirectional Datasets for more information about using the dbExpress components.

See Also

Deploying General Applications

Deploying Web Applications

Programming for Varying Host Environments

Software License Requirements

Deploying Packages

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!