Unsupported on-disk Structure

Asked

Viewed 1,191 times

1

I was developing in Delphi using Firebird 2.5. And it started to give an error when trying to connect to the local database. When trying to connect it from the following message:

Error: unsupported on-disk structure for file C:/....meucaminho...;
found 32779.15, support <Missing arg #4 - possibly status vector overflow>. 
<Missing arg #5 - possibly status vector overflow>.

Note: I have Ibexpert in my machine, and through it I can access the database.

1 answer

3

Friend, I have seen this error occur when the database was created in a certain version of Firebird and then the file was copied to another machine with different version.

Furthermore, please also check the DLL’s for database access. Their versions may also cause these errors.

The following is the topic of the Firebird FAQ:

Unsupported on-disk Structure for file xxx.fdb; found 32779, support 10

This error shows up in two possible cases:

  1. You are not accessing the Firebird database. Interbase Databases have a similar Structure, but IB database versions Higher than 6.0 are not supported by Firebird server.

  2. You are accessing a Higher version database file with Lower version of Firebird server. For example, you created a database with Firebird 2.0, and now you’re trying to access it with Firebird 1.5 server (or Embedded client).

In case this Happens, and you still need to access the data with Older version, you should do Something like this:

  • Install the old version of Firebird and create an Empty database with it.

This Empty database will have the Lower ODS (see FAQ #117 to Learn about ODS). This is needed in order to have a database file which can be used by Both versions of Firebird. This Empty database needs to have all the Metadata (Tables, procedures, etc.) as the full one. If you don’t have access to the old database Structure in some 'safe' place, you can Extract it using isql tool (with -x option) or some Graphic Administration tool (Extract Metadata DLL option in Flamerobin). If you used some Features available only in newer Firebird versions, you Might need to Edit the SQL script Manually to make it work on Older Firebird version.

  • Install the new version of Firebird and copy the data from full to the Empty database

This Operation needs a new Firebird server Since only it can read Both database Structures. To do the copying, you can use some data Pump tool like IB Data Pump or Fbcopy (Fbcopy has a Neat option to disable all triggers while data is being copied and can also copy generators). See FAQ #20 for more info.

  • When copying is done you have the database with old ODS and all your data in it. You can now install the old version of Firebird Once Again, and Keep Working with it.

    1. A version of Interbase Maybe installed. You need to change the standard Remoteserviceport Setting in Firebird.conf from 3050 some other value. For example, 3051. Make sure you use that port in all Connection strings, i.e. Instead of LOCALHOST use LOCALHOST/3051, Instead of 192.168.0.11 use 192.168.0.11/3051, etc.

Note: Section 3 of this FAQ is Contributed by Antoine van Maarle.

Source: http://www.firebirdfaq.org/faq80/

  • Managed to fix the problem?

Browser other questions tagged

You are not signed in. Login or sign up in order to post.