Wednesday, February 2, 2011

Delphi Starter Edition Database Support

The Delphi Starter Edition was released February 1, 2011 as a low cost entry-level version of Delphi. The starter edition is a great addition to the Delphi product line, but only includes database support for IBExpress and the deprecated Borland Database Engine (BDE).  It does not include a simple in-process database or support for client/server databases like SQL Server, MySQL, Oracle, etc.

Unlike these other database offerings, the Advantage Database Server components for Delphi are fully compatible with the Delphi Starter Edition, and you can start using them today for free. The majority of database support was removed from the Delphi Starter edition by eliminating support for the dbExpress database layer, but Advantage does not use this extra database layer, and therefore works very well with the Delphi Starter Edition.

BDE issues

Many Delphi developers and enthusiasts have been pointing out that beginners should not be learning to use Delphi with a deprecated database engine. Michael Rozlog mentions the BDE hasn’t been developed for 10 years and there is not a 64-bit migration path. This is untrue if you use the Advantage Database Server (ADS). In addition to being a fully functional client/server database and a great in-process local database, replacing the BDE with Advantage provides a clear and sustainable 64-bit migration path. Advantage already has 64-bit servers, supports a variety of 64-bit clients (ADO.NET, PHP, OLE DB, ODBC, etc.) and is ready to provide 64-bit Delphi support as soon as the Delphi compiler is available.

Free Local Engine

The Advantage Local Server is also included  with the Advantage Components for Delphi, and is a free in-process database library that fits perfectly with the starter edition concept. The local server is not limited to local drive access and can operate on and serve data via network shares just like the BDE (only without lock file and concurrency headaches). The Advantage Local Server is free to use and distribute, and as your product grows and puts more demand on the database, the full ADS version is available with no code changes (simply change a server type property on the connection).

Starter Edition Installation

The Delphi Starter edition does not allow the use of the Delphi command-line compiler, which the Advantage installer generally needs. With this limitation the Advantage design-time components will work fine in the Delphi IDE, but when an application is built the compiler will fail to find adsdata.dcu. A future update to the installer will address this issue, but for now this is easily resolved by opening the Delphi Tools->Options menu, clicking on the Delphi Library item in the tree view (shown below), and updating the Advantage Library Path from “…\DelphiXE\win32” to “…\DelphiXE\win32\source”.






NOTE: With this path change, if you are utilizing user access control in Windows, you may need to run Delphi as the administrator the first time you compile an Advantage enabled application.