Databases - Firebird - Interbase DataPump

The Interbase DataPump is a freeware program that reads and converts any ADO/BDE/ODBC source to an Interbase / Firebird database.

I prefer this convesion product because it produces an SQL script that can be archived as part of the project's CM.

Issues | create new tables | MS Access tables | Foxpro tables to Paradox | Minor Problem


General Problems Problems converting an existing Interbase database. I tested this with the example that came with interbase. Problems converting Foxpro databases

Procedure to create new tables

These are the basic procedures I followed to convert a FoxPro database. They are based on the online tutorial. Well, that was simple enough - except for all the errors. Once the script is clean, it is time to create the new database and tables. Once you have created your tables, it is time to transfer the existing data.

Procedure to convert MS Access tables to Firebird

These are the basic procedures I followed to convert an MS Access 2002/XP database. They are based on the online tutorial. Review the script and fix any errors. The main "problem" appears to be that several MS Access indices have the same name - PrimaryKey. These will have been "fixed" in the script as Tablename_PrimaryKey.

The other main problem is field (column) names that are too long - >31 characters - but they won't be reported until you try to run the script via ISQL.

Also check your indices - those with several fields are not handled properally.

should have been

There is also a problem with duplicate indices - after the conversion, most tables have 2 indices on the primary key because defining a primary key automatically defines an index aand this datapump does not handle that correctly. Be sure to delete the second index.

I also had to delete (comment out) the following line.

Be sure to record any manual changes in a separate file for later reference (like the next time you repeat the conversion).

Once the errors are fixed, continue the same as the example above.

Procedure to convert Foxpro tables to Paradox

Using the Borland Database Desktop Memo fields did not transfer.

Minor Problem

Using version 3.4, there was a problem when the SQL dialect was wrong

This was fixed by changing the SQL dialect from 3 (the default) to 1.

Notes on using Delphi 6 / Interbase 6

There are several differences between Delphi 5 and Delphi 6 that are related to using the datapump. As far as I can tell, these actually affect the supplied Interbase tools and not the actual Delphi program. In the above procedure, replace with Using Interactive SQL with IBConsole for Interbase 6, I still get The Firebird 1.5 command line isql program supports dialect 3, but it is totally worthless when debugging a new script because the errors are not in any way correlated to the script. Instead of being written to the output file (like with the Interbase Interactive SQL), the errors are simply written to the console screen. The output file - xx.txt - is created with zero bytes (then, what's the point).

Author: Robert Clemenzi -
URL: http:// / user / clemenzi / technical / Databases / Firebird / DataPump.html