понедельник, 11 апреля 2011 г.

Firebird 1.5 и 2.1 на одном сервере

Суть проблемы:
При установке двух версий СУБД Firebird, например:
- Firebird 1.5 и Firebird 2.1 (или выше);
- Firebird 2.0 и Firebird 2.1 (или выше);
сообщения в лог выводятся кривые (например, при бэкап-ресторе).

Пример правильных сообщений:
--restore.log Firebird 1.5 (или 2.0)--
gbak: opened file bo_2.25.11.110_20110310_170500.fbk
gbak: transportable backup -- data in XDR format
gbak: backup file is compressed
gbak: created database localhost/3050:D:\base.fdb, page_size 4096 bytes
gbak: started transaction
gbak: restoring domain RDB$1
gbak: restoring domain RDB$3


Пример неправильных сообщений:
--restore.log Firebird 2.1 (или выше)--
can't format message 12:169 -- message system code -4can't format message 12:100 -- message system code -4.
can't format message 12:169 -- message system code -4can't format message 12:100 -- message system code -4.
can't format message 12:169 -- message system code -4can't format message 12:100 -- message system code -4.


Причина:
В параметре HKLM\Software\Firebird Project\Firebird Server\Instances\DefaultInstance указывается значение одного из установленных СУБД: 'C:\Firebird_1_5'. Поэтому Firebird 2.1 (или выше) при процедуре рестора пытается извлечь сообщения из файла Firebird.msg, который находится в 'DefaultInstance' несоответствующей версии.


Решение:
Удалить строковый параметр HKLM\Software\Firebird Project\Firebird Server\Instances\DefaultInstance

P.S. Путь к ключику для Windows x64:
HKLM\Software\wow6432Node\Firebird Project\Firebird Server\Instances\DefaultInstance

Комментариев нет:

Архив