АС "Бюджет". Ошибка подключения к базе данных

InterBase и Firebird для работы с базами данных от разных версий IB/FB использует понятие ODS. ODS – On Disk structure – номер версии физической структуры файла базы данных. Он изменяется в случае когда возможности новых версий затрагивают изменения в метаданных. 
Версия ODS проверяется при подключении fbclient.dll (gds32.dll). Если сервер обнаруживает что версия ODS больше поддерживаемой, то он генерирует ошибку:

2

Unsupported on-disk structure for file xxx.fdb; found 32779, support 10 
Такая ошибка может проявляться в нескольких случаях:

  • вы пытаетесь подключиться через Firebird SQL Server к Interbase database версии выше чем IB 6.0
  • вы подключаетесь к Firebird database более новой версии чем версия сервера Firebird.

Вот список основных ODS для каждой версии Interbase и Firebird:

ВерсияОсновная версия ODSМожет работать с ODSПримечания
InterBase 4.0/4.1 8.0 ...  
InterBase 4.2 8.2 8.2  
InterBase 5.0/5.1 9.0 8.2 2. Из-за отличий в версиях BLR, используемых IB 6 и IB 5.x, не рекомендуется полноценно работать с базой ODS 9 из IB 6 (особенно, если предполагается возврат на IB 5.6), в частности, модифицировать триггеры и процедуры. То же самое относится к рестору под 5.6 бэкапа, с БД которого успели поработать (меняли процедуры и триггеры) в 6.0 и выше.
InterBase 5.5 9.1 8.2
InterBase 5.6 9.1 8.2
InterBase 6.0 (прим. 1)
Firebird 1.0
Yaffil 1
10.0 9.0/9.1 (прим. 2) 1. Сюда же относятся InterBase 6.5, Firebird 1.0, Yaffil. Они могут добавлять незначительные изменения в отношении системных таблиц (например, дополнительные индексы), которые не влияют на совместимость между разными версиями серверов.
Firebird 1.5 10.1 (прим. 7) 9.0/9.1 (прим. 2), 10.0 7. ODS 10.1, созданная 64-разрядным FB 1.5 несовместима с обычной ODS 10.1. Поэтому открыть такую базу могут Firebird 1.5 и 2.x только 64-разрядные. В других номерах ODS как Firebird, так и InterBase, отличий по разрядности сервера нет.
InterBase 7.0 11.0 10.0  
InterBase 7.1 11.1 10.0  
InterBase 7.5 (прим. 3) 11.2 10.0 3. Перед установкой IB7.5 обязательно нужно сделать backup, даже если вы работаете на 7.0/7.1 с базой ODS 11.0/11.1. IB 7.5 автоматически обновит ODS до 11.2, что не гарантирует обратную работоспособность 7.0/7.1 с этой ODS. В ODS 11.2 как минимум поддерживаются индексы со специальным хранением null, новые конструкции SQL, и т. п. Подробнее см. документ.
Firebird 2.0 11.0 (прим. 4) 10.x 4. Firebird 2.0 имеет ODS 11.0, однако эта версия ODS не совпадает с ODS 11.x от InterBase 7.x. Firebird никакой версии не работает с базами формата InterBase ODS 11.x, и наоборот – никакая версия InterBase не поддерживает формат Firebird 2.0 ODS 11.0. В данном случае никаких опасений по поводу "порчи базы не тем сервером" нет.
Firebird 2.1 11.1 (прим. 4) 10.x, 11.0  
Firebird 2.5 11.2 (прим. 5) 10.x, 11.0 5. ODS 11.2 Firebird 2.5 несовместима с Firebird 2.1 и 2.0. То есть, базы от Firebird 2.5 не могут быть открыты Firebird версий 2.0 и 2.1.
Firebird 3.0 12.0 предыдущие не поддерживаются В Firebird 3.0 включен движок (engine12.dll) только для поддержки ODS 12. Предыдущие ODS не поддерживаются.
InterBase 2007 12.0 11.x (InterBase 7.x)  
InterBase 2009 13.1 12.0  
InterBase XE 15.0 (прим. 6) 13.1, 12, 11, 10 6. Где ODS 14? Никто не знает.
InterBase XE3 15.0 13.1  
InterBase XE7 16.0 15, 13 "Рабочая" версия ODS для InterBase XE7 может быть настроена в IBCONFIG. В этом случае restore и создание БД будут происходить в той ODS (13,15,16), которая указана в IBCONFIG.
! поддерживается ODS 13.2, которая несовместима с InterBase 2009. ODS 13.1 при первом коннекте принудительно обновляется до 13.2
InterBase 2017 17.0 16-13