FireBird 1.5 и 2.1 на одном компьютере как сервисы Windows

Понадобилось одному предприятию запустить на одном компьютере две программы, одна из хочет использовать сервер баз данных непременно версии 1.5 и не больше, а другая программа - версии никак не меньше 2.

Значит нужно оба поставить....

Дело было под Windows. Под другими системами, имхо, решение проблемы схожее должно быть.

Поискал. Нормальных решений в первых строках поисковиков нет. Точнее решения есть - но они все как один (передрали друг у друга) и неправильные...

Ставим версию 1.5

Ставим версию 2.1, она говорит, что будет поставлена не до конца, ибо обнаружила 1.5.

После установки в каталоге, куда был установлен Firebird в файле doc\install_windows_manually.txt читаем что нужно сделать для установки второго экземпляра.
Нужно всего-то вызвать с определенными параметрами командной строки утилиту, установленную с FireBird 2.1, с целью установить FireBird 2.1 как сервис.

Настройки (в моем случае) различных версий FireBird идентичны. Различие только номере порта TCP/IP, на котором сервер ожидает соединения с клиентами.

Нужно задать номер порта для каждого из экземпляров свой. Один из них пусть будет стандартным 3050, а другой 3151 (нестандартный).

И FireBird 1.5 и FireBird 2.1 прописаны в ветке реестра Windows "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services" в двух разных подразделах. Параметр "ImagePath" каждого из этих подразделов содержит путь к exe-файлу и параметры командной строки.
Нужно добавить еще один параметр "-p НОМЕР_ПОРТА", где номер порта сервера FireBird. Причем, мне пришлось сделать это не только для нестандартного порта, но и стандартного.

Перезапускаем сервисы.

Правим в клиентских программах строчку с параметрами подключения к базе данных.

Обращаться теперича к базе данных нужно не просто как "192.168.0.111:C:\DATABASE\DATAS.GDB", а указывая номер порта "192.168.0.111/3151:C:\DATABASE\DATAS.GDB". Для стандартного порта 3050 указывать номер порта явно нет необходимости.

Ставилось все это на Windows Server 2008 x64.

Компьютерные вопросы: 
2002-2012 ©