Base - is it possible to extract an embedded firebird database?

Hi, I have a base application with embedded firebird database. I would like to extract the embedded database in order to separate the data from the GUI and logic, so that going back to a previous version of the gui doesn’t affect the data. Is it possible at all to take an embedded firebird out of the application and then connect to it as an external database?



Yes, there are multiple methods to do this. Easiest (and possibly fastest) is to create a new base file with connection to an existing Firebird File. In the next step you can create a new file. Once created, save and copy all items (item-by-item) from old Base file to new Base file.

Another method is to unzip the Base file, copy the Firebird database and restore it to normal form (it is in a backup status). You can use a Firebird utility to do this. See my answer in this post → How to compact databases?. Even with that you will need to dig into at least one other file and make changes to re-direct the database location. First method is much easier.

After all that, if you need to change the Base file (that is the request) the connection to the external file may need to be reset if modified. Have created a macro which eliminates this problem and also makes the file more portable. See this post → How can I create a portable split embedded/local Firebird database in the manner that is done with HSQLDB?

Thanks, @Ratslinger! It was quite a challenge because of version conflicts between my odb files and the Firebird in the repository, but now it works. Thanks!