Why do I get an unsupported on-disk structure error when opening a Firebird database?

cosmarchy picture cosmarchy · Apr 26, 2017 · Viewed 22.2k times · Source

I'm trying to open a .fdb (Firebird) database using FlameRobin but it is giving me the following error message:

*** IBPP::SQLException ***
Context: Database::Connect
Message: isc_attach_database_failed

SQL Message: -820
wrong or obsolete version
Engine Code:335544379
Engine Message:
unsupported on-disk structure for file c:\ccmb\cm.fdb; found 11.2, support 11.1

Now it looks like it is telling me the .fdb is an older version (I assume it is referring to the database file and not FlameRobin!) so I now need to determine what version it is.

The software using the .fdb database was released around 2015 but I'm not sure of which version of Firebird was around then.

Since I cannot open the file, and I'm not sure it would tell me even if I could, how do I find out what version it is and once I've found out what version it is, what do I need to do with FlameRobin in order to get it to connect? Do I need an older version of FlameRobin (currently 0.9.3.1870) or is are there settings which allow opening of older files?

Answer

Mark Rotteveel picture Mark Rotteveel · Apr 26, 2017

The error tells you that your Firebird version does not understand the on-disk structure (ODS) version of the database file. The database file has ODS 11.2, while your Firebird understands ODS 11.1 (and lower).

ODS 11.2 means it is a Firebird 2.5 database, while support for ODS 11.1 indicates you are currently using a Firebird 2.1 server. To be able to read the database, you will need to install Firebird 2.5.

See also All Firebird and InterBase On-Disk-Structure (ODS) versions.

Note that this is unrelated to the version of FlameRobin.