Which version of Interbase or Firebird was a database created under?

awmross picture awmross · Apr 2, 2012 · Viewed 8.1k times · Source

I have a file with an extension .ib. I am guessing it is either an Interbase or a Firebird file, but I am having trouble working out exactly which. Furthermore, it isn't clear exactly which version of Interbase (or Firebird) was used to create the file.

What I have found so far:

I have tried various different software to read this file (FlameRobin, Firebird's isql.exe and also the latest version of Interbase) and the error messages I get tell me the ODS ("On Disk Structure") is version 9. Which is quite old, and dates to around the time that Firebird was forked from Interbase.

I have managed to connect to the database and query it using Firebird, but some errors I'm getting lead me to believe it is actually an Interbase database (I can explain further if required)

Is there a fool proof way of determining exactly what sort of database I'm dealing with? i.e. is it an Interbase or Firebird file and if so which version was it written with?

Edit: The output of gstat.exe -h run using Firebird 2.5:

Database header page information:
    Flags           0
    Checksum        12345
    Generation      7558
    Page size       4096
    ODS version     9.1
    Oldest transaction  7506
    Oldest active       7544
    Oldest snapshot     7544
    Next transaction    7549
    Bumped transaction  1
    Sequence number     0
    Next attachment ID  5
    Implementation ID   16
    Shadow count        0
    Page buffers        0
    Next header page    0
    Database dialect    1
    Attributes      force write

    Variable header data:
    Sweep interval:     20000
    *END*

To summarise:

  • Get a copy of Firebird
  • Run gstat.exe -h from the bin directory
  • Get the ODS version from the output
  • Look it up in the table here

Answer

da-soft picture da-soft · Apr 2, 2012
  1. About ODS and how to get it.
  2. Firebird, Interbase versions and corresponding ODS. It is on Russian, but the table you can read. It has columns - Version, Main ODS version, Supported ODS versions.