SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » Как по бэкап-файлу определить, в какой версии FB он был создан? (Средства для идентификации версии сервера по бэкап файлу)
Как по бэкап-файлу определить, в какой версии FB он был создан? [сообщение #507] Tue, 06 September 2022 20:11 Переход к следующему сообщению
 в настоящее время не в онлайне 
Сообщений: 198
Зарегистрирован: September 2022
Senior Member
Можно ли и как определить, чем (какой версии fb) был создан конкретный файл бэкапа?
Спасибо.
Re: Как по бэкап-файлу определить, в какой версии FB он был создан? [сообщение #508 является ответом на сообщение #507] Wed, 07 September 2022 01:20 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 415
Зарегистрирован: August 2022
Senior Member
IBBackupSurgeon вроде бы должен сказать номер формата бэкапа. Ну а табличку соответствия формата и версии можно составить самостоятельно.
Re: Как по бэкап-файлу определить, в какой версии FB он был создан? [сообщение #509 является ответом на сообщение #508] Wed, 07 September 2022 08:45 Переход к предыдущему сообщениюПереход к следующему сообщению
 в настоящее время не в онлайне 
Сообщений: 198
Зарегистрирован: September 2022
Senior Member
SD писал(а) Wed, 07 September 2022 01:20
IBBackupSurgeon вроде бы должен сказать номер формата бэкапа...
Вопрос: как это сделать самостоятельно, в своей программе?
Re: Как по бэкап-файлу определить, в какой версии FB он был создан? [сообщение #510 является ответом на сообщение #509] Wed, 07 September 2022 09:23 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
Никак. Зачем это нужно ?
Re: Как по бэкап-файлу определить, в какой версии FB он был создан? [сообщение #523 является ответом на сообщение #509] Wed, 07 September 2022 14:44 Переход к предыдущему сообщениюПереход к следующему сообщению
kdv в настоящее время не в онлайне  kdv
Сообщений: 98
Зарегистрирован: June 2022
Member
изучить в исходниках ФБ что пишет в заголовок gbak при -b, затем выяснить все версии бэкапов, и ...
Re: Как по бэкап-файлу определить, в какой версии FB он был создан? [сообщение #524 является ответом на сообщение #523] Wed, 07 September 2022 14:49 Переход к предыдущему сообщениюПереход к следующему сообщению
 в настоящее время не в онлайне 
Сообщений: 198
Зарегистрирован: September 2022
Senior Member
Спасибо!
Re: Как по бэкап-файлу определить, в какой версии FB он был создан? [сообщение #526 является ответом на сообщение #509] Wed, 07 September 2022 15:34 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 415
Зарегистрирован: August 2022
Senior Member
Anonymous писал(а) Wed, 07 September 2022 07:45

Вопрос: как это сделать самостоятельно, в своей программе?
Открыть файл, отпарсить, найти значение атрибута att_backup_format. Далее см.выше.
Re: Как по бэкап-файлу определить, в какой версии FB он был создан? [сообщение #555 является ответом на сообщение #526] Mon, 12 September 2022 22:01 Переход к предыдущему сообщению
neozx1984 в настоящее время не в онлайне  neozx1984
Сообщений: 27
Зарегистрирован: June 2022
Junior Member
Описание заголовков файла бекапа в формате kaitai есть здесь. С помощью kaitai struct compiler их можно преобразовать в класс для ЯП. Пример в view_gbak.py.
Либо прочитать 1 байта по смещению 3 (обычно там версия).
Соответствие версий:
2.5 = 9
3.0 = 10
4.0 = 11
Предыдущая тема: Статья: Установка Firebird 3.0 и 4.0 на Linux
Следующая тема: Совместимость fbclient.dll от FB3 с fbclient.dll от FB2.5
Переход к форуму:
  


Текущее время: Wed Dec 18 15:11:40 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00635 секунд