Начиная с версии 3.0, СУБД Firebird использует новый формат дисковых структур базы данных – OnDisk-Structure (далее по тексту ODS) версии 12.0 и выше. При этом работа с ODS предыдущих версий на данный момент не поддерживается.
Более подробная информация представлена в документе Firebird 3.0.4 Release Notes на странице 30.
Это обстоятельство может вызвать затруднения у пользователей Deductor и Loginom, например при попытке перенести созданное в Deductor хранилище данных на компьютер, с установленным Loginom и СУБД Firebird 3.0.4.
В случае возникновения указанной проблемы мы можем рекомендовать два варианта решения проблемы:
- Использовать версию Firebird 2.5, с которой совместим и Deductor, и Loginom.
- Используя утилиту gbak создать бэкап базы данных в Firebird ранней версии (например Firebird 2.5) и восстановить её в СУБД Firebird 3.0. После этого ошибка перестанет возникать. Недостатком данного подхода является то, что восстановленная база станет недоступна для работы в Deductor.
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:USERSUSERDOCUMENTSFIREBIRD DATABASESFIREBIRD_V2MY.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?
asked Apr 24, 2018 at 14:24
1
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:
- 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.
- Backup the database using Firebird 2.5 (or 2.1) with the
gbak
tool of that version, and restore it under Firebird 3 with thegbak
tool of that version. This will create a database with ODS 12. The database can no longer be used under an earlier Firebird version
answered Apr 24, 2018 at 14:43
Mark RotteveelMark Rotteveel
99.4k188 gold badges138 silver badges193 bronze badges
8
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
answered Apr 23, 2020 at 8:12
heinelsheinels
1891 silver badge6 bronze badges
Модераторы: kdv, Alexey Kovyazin
-
sergsv
- Сообщения: 5
- Зарегистрирован: 14 мар 2010, 13:39
unsupported on-disk structure for file C:db.gdb
Здравствуйте, уважаемые!
Первый раз на форуме. Проблема такая:
получил базу в формате .gdb. Владелец утверждает что она вроде бы была создана в FireBird второй версии. Соответственно скачал и установил FB 2.0.5
При открытии в IBExpert ошибка: «wrong or obsolete version. unsupported on-disk structure for file C:db.gdb»
Попробовал и напрямую через ком. строку подключиться — тоже говорит, что структура не такая..
В IBExpert использовал как gds.dll так и fbclient.dll, результат один и тот же.. База на том же физическом диске что и сервак. На машине установлен еще FB 1.5, но он не запущен. Дистрибутивы скачивал с официального сайта FB.
Что делать, уважаемые эксперты?
-
sergsv
- Сообщения: 5
- Зарегистрирован: 14 мар 2010, 13:39
Re: unsupported on-disk structure for file C:db.gdb
Сообщение
sergsv » 14 мар 2010, 14:32
надеюсь, что правильно все сделал.. )
gfix -h 10000 C:db.gdb user sysdba password masterkey
ответ: data base file (C:db.gdb) already given
наверное в синтаксисе команды что-то не так?
-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Re: unsupported on-disk structure for file C:db.gdb
Сообщение
hvlad » 14 мар 2010, 15:05
gstat, а не gfix, опечатался я
gstat -h C:db.gdb
При открытии в IBExpert ошибка: «wrong or obsolete version. unsupported on-disk structure for file C:db.gdb»
И где полное сообщение об ошибке ?
-
sergsv
- Сообщения: 5
- Зарегистрирован: 14 мар 2010, 13:39
Re: unsupported on-disk structure for file C:db.gdb
Сообщение
sergsv » 14 мар 2010, 15:16
«wrong or obsolete version. unsupported on-disk structure for file C:db.gdb; found 11.1; support 11.0»
это при попытке открытия в IBExpert c помощью fbclient.dll
gstat выдает: Wrong ODS version, expected 11, encountered 11
-
sergsv
- Сообщения: 5
- Зарегистрирован: 14 мар 2010, 13:39
Re: unsupported on-disk structure for file C:db.gdb
Сообщение
sergsv » 14 мар 2010, 15:30
Кажется понял..
Не означает ли это всё, что у меня сервер более старой версии чем ods базы?
Обновлять FB?
-
sergsv
- Сообщения: 5
- Зарегистрирован: 14 мар 2010, 13:39
Re: unsupported on-disk structure for file C:db.gdb
Сообщение
sergsv » 14 мар 2010, 15:51
hvlad — спасибо за оперативную помощь!
скачал последний релиз FB, все заработало..
хороший форум, всем респект.. )
-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Re: unsupported on-disk structure for file C:db.gdb
Сообщение
hvlad » 14 мар 2010, 15:58
sergsv писал(а):«wrong or obsolete version. unsupported on-disk structure for file C:db.gdb; found 11.1; support 11.0»
БД создана FB 2.1, открывается с FB 2.0