Несколько копий СУБД Firebird на одном сервере
Несколько копий СУБД Firebird (одинаковых или разных версий) могут одновременно выполняться на одном физическом сервере при условии, что каждой копиии будет назначен свой номер порта для коммуникации с клиентскими приложениями.
Рассмотрим такую ситуацию: на предприятии используется программное обеспечение с базой данных Firebird 2.0 на сервере с именем SERVER. Необходимо на этот же физический сервер установить Firebird 2.5 для развертывания базы данных Гедымина.
Следуем инструкции:
- Скачиваем Firebird 2.5 "Zip kit for manual/custom installs" (архив для ручной установки) для подходящей нам операционной системы отсюда
- Распаковываем в папку c:\program files\firebird25 (название папки примерное. Главное -- не перезаписывайте существующие у вас папки Firebird, необходимые другим программам)
- В созданной папке находим и открываем на редактирование файл firebird.conf. Ищем строку #RemoteServicePort = 3050. Убираем знак комментария (решетку) и устанавливаем другой номер порта (например, 3055). В конечном итоге строка должна выглядеть так: RemoteServicePort = 3055
- Открываем окно командной строки (cmd). Для выполнения описанных инструкций интерпретатор командной строки cmd.exe должен быть запущен от имени администратора.
- Переходим в папку c:\program files\firebird25\bin
- Выполняем команды:
instsvc install -s -a -n fb25 instsvc start -n fb25
Здесь с помощью ключа -n мы указываем имя процесса, отличное от других копий Firebird на данном компьютере. В нашем примере мы использовали ключ -s для запуска сервера архитектуры SuperServer. Используйте ключ -c для сервера классической архитектуры или -m — для супер классика. Ключ -a используется для автоматического запуска сервера.
Теперь можно разворачивать базу данных и настраивать клиентские приложения. Для подключения, в имени базы данных следует указывать имя сервера и номер порта. Например, если путь к файлу базы данных на сервере — c:\database\gdbase.fdb, то строка подключения будет выглядеть следующим образом:
SERVER/3055:c:\database\gdbase.fdb
Если на сервере установлен файрволл, не забудьте открыть указанный порт для коммуникации с сетевыми приложениями.
Замечания для Firebird 3.0
В Firebird 3.0 утилита instsvc.exe располагается и запускается из корневого каталога Firebird, то есть каталога, в котором находятся файлы firebird.conf и security2.fdb. Архитектура сервера в Firebird 3.0 определяется параметром ServerMode в файле конфигурации firebird.conf и не может быть изменена утилитой instsvc.exe. Параметру ServerMode можно присвоить одно из следующих значений: Super, SuperClassic, Classic. Ключ -a утилиты instsvc.exe сейчас является значением по умолчанию и может не указываться. Таким образом, команда установки сервера для Firebird 3.0 будет иметь вид:
instsvc install -n fb30