RAD Studio
ContentsIndex
PreviousUpNext
Deploying dbExpress Database Applications

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

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.

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.

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