M.E.Doc та Firebird: Відновлення роботи після аварійного збою VM (Помилка "Install incomplete")
Кроки вирішення проблеми
Для відновлення роботи не потрібно намагатися "склеїти" пошкоджений файл безпеки. Найшвидший шлях — замінити двигун Firebird на справний, а потім підкласти йому вцілілі дані.Крок 1. Очищення завислих процесів
Після збою процеси Firebird можуть "тримати" файли блокування (.lck) або тимчасові файли.- Зупиняємо служби M.E.Doc (ZvitGrp / Medoc_2SRV) та Firebird.
- Через Диспетчер завдань або командний рядок "вбиваємо" всі процеси, що стосуються Firebird, оскільки вони можуть зависнути:
codeCmdtaskkill /F /IM firebird.exe /T taskkill /F /IM fbserver.exe /T taskkill /F /IM fbguard.exe /T - Очищаємо тимчасові файли в C:\ProgramData\firebird\, якщо вони там залишилися.
Крок 2. "Трансплантація" файлу безпеки
Оскільки команда CREATE USER через утиліту isql не спрацьовувала через пошкодження файлу, ми взяли справний файл security3.fdb з чистої інсталяції M.E.Doc (або з інсталятора Firebird).Ми використали Batch-скрипт для автоматичної заміни пошкодженого файлу безпеки у робочій папці M.E.Doc (шлях зазвичай C:\Program Files\Medoc\Medoc_2SRV\Firebird_M2 або подібний).
Логіка скрипта:
- Зупинити службу.
- Зробити бекап поламаного security3.fdb.
- Скопіювати чистий security3.fdb (де за замовчуванням є SYSDBA / masterkey).
- Запустити службу.
Крок 3. Підміна бази даних (Фінал)
Коли ми запустили службу з новим файлом безпеки, M.E.Doc запрацював, але був порожнім (адже база даних була від нової установки).- Зупиняємо службу відновленого Firebird.
- Беремо наш старий, вцілілий файл ZVIT.FDB (з сотнями мегабайт даних).
- Копіюємо його в папку даних нової програми (C:\ProgramData\Medoc\Medoc_2SRV\db\), замінюючи порожній файл.
- Запускаємо службу та програму.
Опубліковано: 19-01-2026, 15:16 · Автор: petrikol