Установка нескольких Firebird на одном компьютере - ПКБ ­«Витебск»

Установка нескольких СУБД Firebird на одном компьютере

По факту, установка нескольких Firebird на одном компьютере не представляет особых трудностей. Когда она бывает нужна?

Иногда возникает ситуация, когда на одном компьютере необходимо разместить несколько баз данных, которые были созданы в разных версиях СУБД Firebird, например, 1.5 и 2.5. Использовать одну версию при этом нельзя, потому что, например, в БД для версии 2.5 задействованы функции, отсутствующие в 1.5, а программа, работающая с БД для версии 1.5, содержит и исполняет скрипты, которые СУБД версии 2.5 выполнять не позволяет и объявляет ошибочными (например, если попытаться обратиться в запросе по оригинальному имени таблицы, для которой объявлен псевдоним).

В этом случае даже если речь идёт о своём программном обеспечении не всегда можно провести своевременный рефакторинг: на это требуется как минимум время и другие ресурсы. Когда же речь идёт о стороннем ПО, внести изменения в него чаще всего вообще невозможно.

СУБД Firebird, запущенная в качестве службы, слушает подключения по определённому порту (по умолчанию 3050). Если попытаться установить Firebird несколько раз, установщик выдаст соответствующее предупреждение и не создаст службу, несмотря на то, что файлы будут скопированы. Значит, нам надо дополнительно проделать две вещи: установить службу вручную, разнести разные версии СУБД на разные порты и запустить службу.

Ход установки

  1. Устанавливаем первый экземпляр Firebird. Установка происходит стандартным образом.
  2. Устанавливаем второй, третий и т. д. экземпляры Firebird. В процессе каждой установки будет предупреждение, что Firebird другой версии уже установлен, будет предложено остановить имеющуюся службу. Её надо остановить, установку не прекращать. После установки файлы будут скопированы, но новых служб не появится.
  3. Необходимо прописать разные порты. Файл настроек firebird.conf находится в каталоге установки Firebird, например c:\Program Files (x86)\Firebird\Firebird_2_5\firebird.conf. Открываем его текстовым редактором и ищем строку (изначально закомментированную) «#RemoteServicePort = 3050». Убираем комментарий и явно указываем порт, например, «RemoteServicePort = 3051». Для каждой копии Firebird прописываем свой порт: 3050, 3051, 3052 и т. д.
  4. Проверяем, какие службы Firebird уже есть. Заходим в «Панель управления» — «Администрирование» — «Службы» («Control Panel» — «Administrative Tools» — «Services») и ищем, имя будет примерно «Firebird Server — DefaultInstance». Останавливаем. Открываем двойным щелчком и смотрим путь к файлу. Службу для копии СУБД из этого каталога на следующем шаге создавать не надо.
  5. Создаём недостающие службы. Для каждой копии Firebird выполняем «sc.exe create Firebird_server_25 binpath= «c:\Program Files\Firebird\Firebird_2_5\bin\fbserver.exe -s» start= auto displayname= Firebird_server_25» в режиме командной строки. Пути и имена в приведённом примере заменяем на свои. Имена разных служб совпадать не должны.
  6. Запускаем все службы Firebird. Установка нескольких (двух) Firebird на одном компьютере завершена. Аналогично можно развернуть третий, четвёртый и т. д. экземпляры.
  7. При подключении к базе данных явно указываем порт через «/» после имени сервера. Например, в строке подключения вместо «localhost:d:\db\db.fdb» пишем «localhost/3051:d:\db\db.fdb», а вместо «localhost» в имени сервера пишем «localhost/3051». Где писать — зависит от программы. В самом интерфейсе в настройках, или в файле настроек, или в реестре. Смотрите документацию по каждому продукту.
  8. Информацию о настройках подключения в наших программах можно почитать в разделе «Системному администратору».

Скачать Firebird можно на официальном сайте.