This is a very old project and the links below are all broken. If you need some of the files, please, don’t hesitate to drop me a message.
This driver was developed for Delphi/RAD Studio 2007, when the native driver for Interbase stopped work with Firebird. Actually, Delphi XE+ ships with a native driver for Firebird access. The driver below has a compiled version for Delphi/RAD Studio 2007 only, and is not getting more updates. Thanks for all of you who helped fixing errors.
I have a recent experience with the Firebird API and the DBX4 API for Delphi 2007, and I wroted a DBX4 Driver for Firebird Database. It supports all field types of this database.
The driver stay in the front page of the Active Delphi Brazilian magazine, 53. Edition.
In this paper, Thiago Souza shows a driver that is appearing strongly, the TBODBXFB. This driver does a clean access and without errors to Firebird Database and can be utilized in the RAD Studio 2007.
Whow, I don””t think the driver is so mature, but I still correcting the errors reported by users.
Email: thborges at gmail
Know Problems and Solutions
- When execute an application which use the driver, the debbuger tells about a breakpoint in the ntdll.dll, famous in the internet like INT3. If it happens to you, check the option ””Ignore non user breakpoints”” of your delphi (Thanks to Leonel Togniolli) or add this unit to the project.
- The driver don””t work with .Net apps. I haven””t idea about why, but it is a Access Violation. The driver now works with .Net.
- If you enable the trace You will see that some parameters don””t be evaluated.
- “Runtime Error (at: 1:4131): Error on line 0, position 0: The system cannot locate the object specified.” Verify if the file DataExplorer.exe.config exists and if them is correctly. Some RAD Studio updates breaks them.
- “Cannot find the entry point… @Dbxtablestorage@TDBXDefaultRowStorage@CopyColumns$qqrv … in library … DBXReadOnlyMetaData100.bpl” The packages of version 0.2 is builded with December update of Code Gear installed. Have you installed them?
- “Access violation” when program open a TSQLConnection, in a deployment environment (Without Delphi/RAD Studio): Fail in the driver deployment. Read the section ””How to deploy the driver””.
How to Deploy the Driver
- Add the unit TBODbxDynalink to the project file. This unit loads the driver at runtime. Another way is check the option ””Build with runtime packages”” and add the TboDbxNative package in the list.
- Deploy the dbxdrivers.ini and dbxconnections.ini files:
- The dbxdrivers.ini file needs to be deployed and to have two sections: [Installed drivers] and [TBODBXFB]. See this file read to be deployed.
- The dbxconnections.ini file can be empty, but the DBX4 Framework needs them.
- This files can be put in program folder dir or in the path defined at HKEY_CURRENT_USERSoftwareBorlandBDS5.0DBExpress, in the entries ””Driver Registry File”” and ””Connection Registry File”” (This is a DBX4 behaviour).
- Put the tbodbxfb.dll file in the program folder dir or in the system path.
WARNING! Firebird 1.5 Compatibility
In the 0.6 RC 2 release, I need to use a TRIM function, to show fields/parameters in the TSQLDataSet and TSQLStoredProc correctly. The trim function is disponible in the most recent Firebird versions (2.0, 2.1), but not in Firebird 1.5. Run the following command to declare the default TRIM function in Firebird 1.5:
DECLARE EXTERNAL FUNCTION trim CSTRING(255) RETURNS CSTRING(255) FREE_IT ENTRY_POINT ''''IB_UDF_ltrim'''' MODULE_NAME ''''ib_udf'''';
Download – Delphi 2010
Download – Delphi 2007
- Installer 0.91 – Release Candidate 5 (December update needed, read note about Firebird 1.5 above)
- Installer 0.8 – Release Candidate 4 (December update needed, read note about Firebird 1.5 above)
- Installer 0.7 – Release Candidate 3 (December update needed, read note about Firebird 1.5 above)
- Installer 0.6 – Release Candidate 2 (December update needed, read note about Firebird 1.5 above)
- Installer 0.5 – Release Candidate (December update needed)
- Installer 0.4 – Beta (December update needed)
- Installer 0.3 – Alpha (December update needed)
- Installer 0.2 – Alpha (December update needed)
- Installer 0.1 – Alpha
Add these lines in bxconnections.ini Add these lines in dbxdrivers.ini Driver
Download – Delphi 2009
- 01/11/2008 – Addition of support the UTF8
- 01/11/2008 – Addition of support the AutoCommit
- 01/11/2008 – Correction of problem with size De Campos (Property size of the TFields)
- 01/11/2008 – Correction of problem with required fields (Required Property of the TFields)
- 01/11/2008 – Correction of error ”” SQL error Error SQL code = -501 Attempt you reclose closed cursor”” when opening explicit transactions in the code
- 17/09/2008 – Released the Delphi 2009 version
- 17/09/2008 – Fix Access Violation when working with VarChar fields
- 22/07/2008 – Fix storage of ARRAY fields (Thanks to Sertak Akyuz)
- 21/07/2008 – Fix storage of TIME fields (Thanks to Douglas)
- 21/07/2008 – Fix “Update affected more than 1 record.” when updating records (Thanks to Arthur ACCL)
- 21/07/2008 – Fix usage of TSQLStoredProc for procedures without parameters or without resultset
- 08/06/2008 – Fix an Access Violation when calling DBXCommand_GetRowsAffected with DDL commands (Thanks to Eduardo Tec-Soft)
- 08/06/2008 – Support to TSQLStoredProc added (Thanks to John Hodgson)
- 08/06/2008 – Support to TSQLDataSet added (Thanks to Pablo Bueno)
- 14/05/2008 – Fix IDE Freeze within Windows Vista when open the connection (Thanks to Cesar Romero)
- 14/05/2008 – Fix an Access Violation when open two connections, one with Interbase driver and another with TBODBXFB. This applyes to DataExplorer in IDE too.
- 14/05/2008 – Fix error when close SQLQuery after a Transaction Commit. (Sequence: Close/Open/Commit/Close/Open)
- 04/03/2008 – Incorrect VARCHAR field size returned from the driver
- 04/03/2008 – Fix Read Commited Transaction to use isc_tbp_nowait instead of isc_tbp_wait option.
- 27/02/2008 – Infinit Loop when close connection (TSQLConnection.Close) (Thanks to Luiz Henrique Auer)
- 27/02/2008 – Access violation when not specified DriverName=TBODBXFB in TSQLConnection.Params. (Thanks to Luiz Henrique Auer)
- 14/02/2008 – Added support to .Net platform
- 14/02/2008 – Added support to Data Explorer
- 14/02/2008 – Fix transactions errors (Thanks to Luiz Henrique Auer)
- 14/02/2008 – Fix code related to ftDate parameters
- 14/02/2008 – Fix installer to detect the dbExpress .ini folder
- 14/02/2008 – Others minor fixes
- 30/01/2008 – Make a installer
- 30/01/2008 – Corrected keys in the dbxdrivers.ini file (Thanks to Luciano Pimenta)