|
Модераторы: Akella |
|
Golden Hands |
|
||||||||||||||
Золотой Профиль Группа: Участник Клуба Сообщений: 2023 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 3 Всего: 83 |
Имеем два бинарных сервера Firebird, которые нужно зарегистрировать на одной машине.
Примерный состав файлов: Firebird_2_0 - firebird.conf, firebird.msg, security2.fdb Firebird_2_0\bin - все файлы (как в стандартной установке) Firebird_2_0\intl - все файлы Firebird_2_0\lib - все файлы Firebird_2_0\UDF - все файлы 1) Нужно разнести сервера по разным портам. 2) Нужно зарегистрировать каждый сервер под своим именем. 3) Удалить информацию о Firebird из реестра. Совсем. 1) В firebird.conf находим строчку:
Меняем это значение у каждого сервера. Например, первому можно назначить порт 3050, второму - 3051. После этого строка подключения на клиентах должна ОБЯЗАТЕЛЬНО содержать номер порта того сервера, с которым устанавливается соединение. Например:
2) Для регистрации Firebird как сервера используем утилиту SC.EXE, включенную в поставку Windows, начиная с версии XP. Расположение -
3)
Я таскаю со своим приложением файл SC.EXE, взятый из Resource Kit for Windows 2000. Если в системной директории нет этого файла, то я копирую его туда. Можно обойтись и без этого, а запускать все команды из папки, где он лежит. Важно не забыть, что теперь, например, нужно использовать не
Это сообщение отредактировал(а) Akella - 23.6.2008, 13:39 -------------------- Мы обречены... но только на победу! Настанет день, и мы построим новый дом. Внесем в него тепло, что сохранить сумели, И воскресим все то, что в нас когда-то умерло... © Тень Света |
||||||||||||||
|
|||||||||||||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
tm1 |
|
||||||||||||||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 12.12.2011 Репутация: нет Всего: нет |
Простой cmd-файл подходящий для установки версий Firebird от 1.5 до 2.5 на Windows XP/2003/7/2008 (x86/64)
1) установка службы с запуском из любого каталога (с использованием instsvc.exe и поддержки instance) 2) с запуском службы от имени простого пользователя с именем Firebird (держать можно хоть в группе "Гости") 3) указанием необходимых для него прав на NTFS (с использованием cacls.exe) 4) хоть сколько разных версий параллельно в реестре (с использованием reg.exe) 5) open-source, feel free to modify (GPL) Особенности использования: Закинуть instsvc-fb25.cmd в подкаталог bin каталога, где установлен Firebird, например "C:\Program Files (x86)\Firebird\Firebird_1_5\bin\" UPD: Хотя я тут попробовал и оказалось, что cmd-файл закидывать лучше просто в каталог, где установлен Firebird (и лежит файл firebird.conf), например "C:\Program Files (x86)\Firebird\Firebird_1_5\" так как тогда в реестре пропишется "правильно" путь к "instance", без ".." в пути, и будет срабатывать указание в firebird.conf относительных путей, например для UDF то есть если cmd-файл запускать из подкаталога bin, то в реестре будет (Windows 64-bit для Firebird 32-bit)
а так будет, если запускать из каталога, где установлен Firebird
Если использовать для параллельной работы не архивы с дистрибутивом (Firebird*.zip), а установщики (Firebird*.exe), то желательно ставить сначала раннюю версию (1.5), удалить его службу (сами файлы оставить конечно), а затем поздние (> 1.5) в разные каталоги конечно, также удаляя их службы, так как все они ставятся как DefaultInstance. Команда для удаления экземпляра DefaultInstance
или
Затем установить службы, при этом надо ставить 1.5 как экземпляр по умолчанию (DefaultInstance), так как он по другому сам не ставится (через instsvc.exe) вот так например суперсервер 1.5
затем классик 2.0
а дальше суперклассик 2.5
само собой не забудьте указать разные значения портов для соединений в файлах firebird.conf параметры RemoteServicePort = 3050 RemoteServicePort = 3051 RemoteServicePort = 3052 и рекомендую для работы Event-ов RemoteAuxPort = 3060 RemoteAuxPort = 3061 RemoteAuxPort = 3062 Для баз установите права доступа на NTFS сами, пользователю под которым запускается служба (его имя в cmd-файле "Firebird", можно менять там же) надо дать права записи на файл базы. Кажется "в этот раз" ничего не забыл ;) UPD: скрипт обновился, старая версия 0.2.4 прикреплена здесь для истории, а новая версия 0.2.5 сообщением ниже. Устранено надеюсь 3 бага Первый баг был в добавлении конец пути к каталогу Firebird двойной кавычки вместо обратного слэша при сохранении в реестре. Из-за этого Firebird 1.5 не запускался, так как не мог найти файл "firebird.conf". А вот Firebird 2.5 работал при таком неправильном" указании пути. Второй баг был в добавлении пользователя Firebird для запуска службы от его имени, в Windows 7 почему-то не сработало при установке скриптом с "нуля", сейчас переделано. Хотя я думаю, что проблема не в Windows 7 была. Если что добавляем пользователя вручную в "админской" командной строке например так :
ну или через GUI ("mmc compmgmt.msc"), группы для запуска достаточно "Гости", право на запуск службы добавляет сам instsvc.exe от Firebird 1.5 и выше. Не забудьте про настройки "устаревание пароля" и "запрет смены пароля самим пользователем". Также не забудьте поменять пароль пользователя Firebird, "зашитый" в самом cmd-файле. Ну и потом запускаем сам скрипт из каталога, где установлен Firebird, как было выше описано. Третий баг был в том, что я забыл (!), что в Firebird 1.5 нет параметра "-n" для "instsvc.exe". Он всегда устанавливает службу с именем экземпляра "DefaultInstance". Сейчас, если имя передаваемое скрипту в параметрах равняется "DefaultInstance", то оно не передается через параметр "-n" далее для "instsvc.exe". Пока все на этом. Это сообщение отредактировал(а) tm1 - 17.2.2012, 18:16 Присоединённый файл ( Кол-во скачиваний: 56 ) instsvc_fb25.cmd 11,76 Kb |
||||||||||||||||
|
|||||||||||||||||
tm1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 12.12.2011 Репутация: нет Всего: нет |
"Простой cmd-файл подходящий для установки версий Firebird от 1.5 до 2.5 на Windows XP/2003/7/2008 (x86/64)"
Новый скрипт "instsvc-fb25.cmd" версии 0.2.5 echo ---------------------------------------------------------------------- echo Firebird DBMS (1.5, 2.0, 2.5, greater) Windows Service installer ver. 0.2.5 echo . This utility should be located and run from the 'bin' directory echo . of your Firebird installation. echo ---------------------------------------------------------------------- ... Изменения описаны в сообщении выше Присоединённый файл ( Кол-во скачиваний: 120 ) instsvc_fb25.cmd 12,25 Kb |
|||
|
||||
Правила форума "Interbase" | |
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |