Агбис Конвертор БД обслуживает локальные базы Firebird: выполняет отдельную проверку, оптимизацию Backup/Restore и конвертацию на новую версию Firebird. Цель основной операции -- сохранить для приложений прежние путь и порт подключения, но перевести их на проверенную новую базу и, при выбранной опции, на новую службу Firebird.
| Режим | Что происходит | Что не меняется |
|---|---|---|
| Проверка БД | Запускается GFIX-проверка. | Файл базы, службы и порты. |
| Оптимизация B/R | База пересоздается средствами текущей версии Firebird. | Версия и схема подключения. |
| Конвертация | База восстанавливается средствами выбранной версии Firebird. | Исходный путь к рабочей базе; при переключении сохраняется и старый порт. |
Рекомендуемое размещение Конвертора: E:\Agbis\Temp\agbDBConvertor.exe.
Основной файл параметров базы ищется на уровень выше, например для E:\Agbis\Temp\agbDBConvertor.exe используется E:\Agbis\agbis.xml. Дополнительные параметры задаются в agbDBConvertor.ini или командной строке. Параметры командной строки имеют приоритет над INI.
Запуск без параметров открывает главное окно:
agbDBConvertor.exe

В верхней части выбирается файл исходной базы и ее порт. После проверки отображаются путь, свободное место, размер файла, версия Firebird и кодировка базы.
Блок Новая база данных используется, когда требуется указать отдельное расположение результата. Если не задано иное, новая база после всех проверок занимает имя и расположение исходной рабочей базы, а прежняя база сохраняется рядом.
Опция Заменить версию службы Firebird на новую управляет тем, что происходит после успешной конвертации.
| Опция | Результат после успеха |
|---|---|
| Включена | Новая служба занимает прежний порт, получает автоматический запуск, проверяется подключением. Затем старая служба удаляется. |
| Выключена | Новая служба остается на собственном порту. Старая служба и ее порт не меняются. |
В главном GUI файлы agbis.xml не меняются: этот сценарий предназначен для контролируемой интерактивной работы администратора.
agbDBConvertor.exe /run AliasBase="Agbis" FirebirdNum=5 timeout=1
Операция запускается сразу. Текущие этапы, команды и итог записываются в папке Logs.
agbDBConvertor.exe /run AliasBase="Agbis" FirebirdNum=5 ConvertFrom="Him"
Параметр ConvertFrom включает небольшое окно с названием текущего этапа и фиксированной полосой прогресса. В этом окне нет технического журнала: подробности остаются в файлах Logs.

| Параметр | Назначение |
|---|---|
| /run | Немедленно запускает основную операцию без главного GUI. |
| AliasBase | Алиас исходной базы из agbis.xml. Если не задан, выбирается запись WasLast=1. |
| FirebirdNum | Целевая главная версия Firebird. Если не задан, выполняется оптимизация B/R. |
| timeout | Пауза в секундах до основной операции. Нужна, например, чтобы ReplIn завершил работу. |
| ConvertFrom | Имя вызывающего модуля. Включает компактное окно этапов. |
| CLIENT_DEP_ID | Идентификатор для существующего отчета в PC. |
| Agent_GUID | GUID агента для определения клиента в Bitrix24. |
| DEP_ID | Идентификатор подразделения конвертируемой базы для Bitrix24. |
Пример запуска из ReplIn:
agbDBConvertor.exe /run AliasBase="Agbis" FirebirdNum=5 ConvertFrom="ReplIn" Agent_GUID="{GUID}" DEP_ID=123
Конвертор определяет исходную базу, версию и службу Firebird, фактический порт, размер файла и свободное место. Затем фиксирует список приложений и служб, которые нужно остановить и позже вернуть в работу.
Если включено исправление, выполняется GFIX mend. Во время длительной проверки в журнал периодически пишется heartbeat: это означает, что процесс не завис и его нужно дождаться.
Backup и Restore выполняются последовательно. При оптимизации оба действия используют текущую версию Firebird. При конвертации Backup делает исходная версия, а Restore -- выбранная целевая. Промежуточная база и журналы не скрываются: их можно использовать для диагностики.
До замены рабочей базы Конвертор проверяет структуру результата, запускает GFIX и делает фактическое подключение к новой базе. Пока эти проверки не прошли, исходная база и исходная служба считаются рабочим вариантом для отката.
После успешной проверки новая база получает рабочее имя. Прежняя база сохраняется рядом, например:
ARM_FB3_20260928_153000.FDB
В имени присутствуют прежняя версия Firebird, дата и время. Не удаляйте этот файл до подтверждения нормальной работы всех программ.
Только при включенной опции переключения Конвертор останавливает обе службы, переводит новую службу на прежний порт, запускает ее и проверяет подключение к базе уже через новый Firebird. Только после этой проверки удаляется исходная служба.
Ранее остановленные службы запускаются снова. Итог операции и важные пути фиксируются в журнале.


Этот этап работает только в командных режимах и только после полной успешной конвертации с переключением Firebird. В главном GUI XML не изменяется.
Проверяются исключительно:
В каждом файле обрабатываются только элементы Base, у которых FilePath совпадает с путем конвертированной базы. Для таких записей меняется только firebird_ver.
Не изменяются AliasBase, WasLast, Port, Server, FilePath, учетные данные и прочие параметры. Записи с суффиксом _old не создаются.
Если XML отсутствует, поврежден или не содержит совпадений, это фиксируется в журнале, но конвертация продолжается. Если XML с совпавшей базой невозможно записать или перепроверить, файл восстанавливается из временной копии, а исходная служба Firebird не удаляется.
При ошибке задача Конвертора -- вернуть систему к состоянию до начала работы:
Если новая база уже была активирована, но следующий этап не завершился, не удаляйте сохраненную исходную базу и диагностический файл. Передайте в поддержку журнал операции и оба файла.
Ручной откат нужен только по решению администратора, если после успешной конвертации выявлена прикладная проблема:


[Скриншот: актуальная форма «Настройка Firebird» со списком служб, портом, статусом и карточкой выбранной службы.]
Форма Настройка Firebird показывает найденные службы Firebird 2.5, 3.0 и 5.0, их версию, состояние, тип запуска, порт и каталог установки. Пустой список служб является нормальной ситуацией, когда Firebird на компьютере не установлен: действия, требующие выбранной службы, недоступны.
Через форму можно обновить список служб, изменить тип запуска и порт выбранной службы, запустить или остановить ее, установить или удалить Firebird. Перед удалением программа убеждается, что служба снята с регистрации; каталог установки не должен удаляться преждевременно.
Журналы хранятся в папке Logs рядом с Конвертором. Они содержат:
Старые backup.log и restore.log не уничтожаются, а переименовываются перед новым запуском. При обращении в поддержку приложите журнал операции и сохраненные базы, если они были созданы.
После полной операции Конвертор отправляет сообщение в чат 36309. Ошибка доставки этого уведомления не меняет результат конвертации.
Agent_GUID определяет клиента, а DEP_ID однозначно указывает подразделение и базу.
При успехе сообщение содержит операцию, базу, исходную и целевую версии Firebird, а также путь сохраненной исходной базы. При ошибке дополнительно передаются режим и источник запуска, параметры переключения, службы и порты, результат восстановления базы и служб, пути диагностических файлов и текст последней ошибки.