bubi
bubi

Reputation: 6501

Error unsupported on-disk structure for file ... found 11.1, support 12.0

Is it possible to connect to v2.5 and v3 server with the same client?
I'm using Firebird .Net client 5.11.
When I open the v3 database everything's working.
When I open the v2.5 database I receive the following exception

An unhandled exception of type 'FirebirdSql.Data.FirebirdClient.FbException' > occurred in FirebirdSql.Data.FirebirdClient.dll

Additional information: unsupported on-disk structure for file C:\USERS\USER\DOCUMENTS\FIREBIRD DATABASES\FIREBIRD_V2\MY.FDB; found 11.1, support 12.0

EDIT
The real case:
I have a server running Firebird v2.5;
I have a server running Firebird v3;
(I can't change this configuration; they are not running my applications)

I need data from both servers from a C# .Net application.
Is there a way to connect to both servers using the same ADO .Net Provider?

Upvotes: 1

Views: 13930

Answers (2)

heinels
heinels

Reputation: 187

It's because your are using a 2.5.x database file(fdb file) in a 3.x firebird server. If you use docker, you can pull 2.5.7 version here. And start docker with command docker run --name firebird -p 3050:3050 --mount source=data,destination=/firebird/data/ jacobalberty/firebird

You should put your fdb file under /var/lib/docker/volumes/data/_data

Upvotes: 1

Mark Rotteveel
Mark Rotteveel

Reputation: 109081

This is not about the client connecting to different Firebird servers (which works fine), the problem is the Firebird server opening an unsupported database ODS (On-Disk Structure) version. The error means that you tried to open a Firebird 2.1 database (ODS 11.1) with Firebird 3. Firebird 3 only supports ODS 12, Firebird 2.5 supports ODS 10 - 11.2 (which are the ODS versions for InterBase 6.0, Firebird 1.0, 1.5, 2.0, 2.1 and 2.5).

There are two options:

  1. Install Firebird 2.5 next to Firebird 3 and run it on a different port than the default. Connect to this server if you want to use the database in the older ODS format.
  2. Backup the database using Firebird 2.5 (or 2.1) with the gbak tool of that version, and restore it under Firebird 3 with the gbak tool of that version. This will create a database with ODS 12. The database can no longer be used under an earlier Firebird version

Upvotes: 5

Related Questions