Reputation: 155
I have firebird 1.0 database. And ubuntu 12.04, x86_64. I want to get some data from this database, but i have no idea how i can do it.
When i try to connect in isql-fb (from firebird2.5-superclassic pkg), i get error message that this database is invalid.
I try to download odbc driver v1.2 (minimal version) from offical site http://www.firebirdsql.org/en/odbc-driver/, but it is for x86 system. And ldd showed that it is not executable. I also try to compile it, but get some errors (may be referenced exactly to architecture of os).
I have no idea what i should do next.
1) May be there is some method to get work 32bit odbc driver on 64bit system? 2) Or some other method? 3) Is there any chance to "upgrade" database to higher version? So i can read it by current package?
Many thanks!
Upvotes: 1
Views: 118
Reputation: 146
it could be that the database is really corrupt or its actually a database backup (which needs to be restored before use)
this will attempt to take a backup of the database, which will also verify that it is ok gbak -user sysdba -pass -backup path_of_database path_for_backup_file
Upvotes: 0
Reputation: 108941
The problem is that the exact internal format of a Firebird database is platform specific. This is generally to do with endianness (which is the same for x86 and x86_64), but in the case of older Firebird versions (I believe before Firebird 2.1, ODS 11.1) the bitness (32/64) of the platform is a factor as well.
So if this database was from a Firebird 1.0 on a 32 bit platform, then you need to create a transportable backup on a 32 bit platform, and then restore that backup on your target 64 bit platform. You can create a transportable backup using gbak (option -T
, default in recent Firebird versions).
I am not sure what the ODBC driver has to do with your problem: if Firebird can't read your database, then the ODBC driver won't help (and if you have problems compiling, that is a separate question). But note that for a x86_64 platform you need the amd64 variant of the ODBC driver (amd64 and x86_64 are the same).
Upvotes: 1