2.2.1 Установка сервера |
Начиная с версии клиента 4.2.02 появились два варианта программы "АРМ врача", которые используют два разных варианта сервера Firebird. Для ясности я подробно опишу особенности того и другого варианта сервера.
Самое главное, что Вам нужно знать о нем: встроенный сервер не требует установки в операционную систему и в обычных условиях не требует конфигурации. Поэтому, если у Вас нет под рукой системного администратора или Вы ровным счетом ничего в этом не смыслите, то выбирайте portable-версию "АРМ врача", использующего этот вариант сервера. Для более любознательных упомяну некоторые подробности. Embedded-сервер представляет собой всего одну единственную библиотеку (fbembed.dll), которой для корректной работы требуется еще несколько вспомогательных файлов. Если посмотреть на дистрибутив сервера, то можно увидеть их все
Вся "установка" такого сервера обычно заключается в простом копировании всей этой кучи файлов в каталог с исполняемой программой, которая будет работать с этим сервером. В нашем случае, portable-вариант "АРМ врача" уже содержит все эти файлы, поэтому Вам нужно будет лишь распаковать дистрибутив "АРМ врача" в удобное для Вас место (подробности здесь). Единственное, где Вам могут пригодиться описанные выше сведения относительно сервера, это если Вы захотите самостоятельно изменить версию Firebird на более "свежую". Предположим, используемая версия FB 2.1.4, а "свежая" (на момент написания справки) - 2.5.0. Тогда идем (для Windows 32-bit) сюда,
жмем на ссылку "2.5-Release" (самый "свежий" релиз на момент написания справки), выбираем соответствующий архив
и скачиваем на жесткий диск. После распаковки архива (предварительно остановив программу-клиента) полностью заменяем файлы текущей версии (2.1.4) сервера файлами "свежей" (2.5.0) версии сервера. После запуска программы-клиента будет использоваться уже "свежая" версия сервера.
Перед началом установки проверьте, установлен ли у вас
Microsoft Visual C++ 2005 Redistributable Package (x86)
(обычно в новых сборках винды, начиная с Win XP SP3, он присутствует в
дистрибутиве).
Для этого идем Пуск → Настройка → Панель управления Установка и удаление программ
Если такого
пакета Вы у себя в компьютере не обнаружили, то необходимо
скачать его в
интернете (в дополнение рекомендуется скачать
и обновленный виндовый инсталлятор). Если у Вас отсутствует интернет, загляните
в папку Utilities\M$, которая должна находиться в каталоге с дистрибутивами
распространяемой программы (это будут файлы соответственно vcredist_x86.exe
и WindowsInstaller-KB893803-v2-x86.exe).
Обратите внимание, что
в названии указанных файлов фигурирует цифра 86. Это указывает, что файлы
предназначены для 32-битных операционных систем (в отличие от 64-разрядных
систем). Подробнее о их различиях можно
почитать
в интернете.
Если Вы не установите эти файлы, то могут возникнуть ошибки при попытке
коннекта к базе данных, т.к. будут отсутствовать необходимые системные
библиотеки (системные
файлы). Полноценный сервер Firebird в отличие от embedded-варианта обладает неурезанной функциональностью, более корректно ведет себя по отношению к базе данных при сбоях, имеет большое количество разнообразных опций. Более подробно о них можно узнать из официального сайта. Установка и настройка этого варианта сервера требует у пользователя навыков системного администрирования и/или сообразительности . Что касается установки, то для начала необходимо будет определиться, сколько различных версий серверов будет установлено на одной машине. Потому что от этого будут зависеть настройки конфигурационных и системных файлов.
Установка одного сервера Firebird на одной машине. Будем считать, что на данной машине нет ни одного установленного сервера Firebird или Interbase. В противном случае либо сносим его штатным деинсталлятором, либо смотрим сюда. Ищем заветный файлик с инсталлятором (дистрибутивы можно найти в папке Utilities\FB_distr из комплекта поставки или начать искать отсюда) и запускаем его
Выбираем язык установки
Далее до определенного момента просто следуем за
мастером установки, оставляя все параметры по умолчанию
Когда в процессе установки инсталлятор покажет вам следующее окно,
Вы должны снять галочку напротив пункта "Использовать Guardian для управления сервером" (это так называемый "гвардеец" - атавизм, оставшийся со времен Win98, когда использовалась дополнительная программа, чтобы перезапускать сервер в случае аварийного завершения его работы. Теперь функцию перезапуска сервера выполняют штатные средства современных операционных систем). Все остальные настройки оставляем нетронутыми и жмем кнопку "Далее >" Далее опять бездумно жмем кнопки, наблюдая за процессом инсталляции
И под занавес: если не хотите читать, что же нового появилось в устанавливаемой версии сервера, да еще и на английском языке, то снимаем соответствующую галочку
После нажатия кнопки "Завершить" инсталлятор запустит сервер в качестве системной службы операционной системы. При этом сервер будет автоматически стартовать при запуске самой Windows. Чтобы в этом убедиться жмем сочетание клавиш <Ctrl>+<Alt>+<Del> и видим работающий сервер в процессах операционной системы,
затем идем Пуск → Настройка → Панель управления → Firebird 2.1 Server Manager и видим, что сервер в настоящий момент запущен и ждет дальнейших наших телодвижений.
В группбоксе "Start" необходимо выставить галочку напротив "Automatically". Жмем "ОК". Все. Теперь нам необходимо правильно сконфигурировать сервер. Идем сюда.
Установка нескольких серверов Firebird на одной машине Это может понадобится, если на вашей машине установлено ПО, использующее разные версии серверов. Как правило, все "свежие" (старшие) версии Firebird включают в себя функционал предыдущих (младших) версий, начиная с версии 1.5.х. Например, приложения работавшие с версией 2.0.х скорее всего будут корректно работать с версиями 2.1.х и выше, но могут давать ошибки при работе с версией 1.5.х. Однако, если у вас стоят приложения, которые работают с совсем "древними" версиями Firebird (1.0.х и ниже), то имеется большая вероятность их некорректной работы со "старшими" версиями. Это связано с тем, что с версий 1.5.х и выше изменились некоторые типы данных. Подробнее об этом можно узнать из документации. В любом случае, если у Вас возникают сомнения относительно работоспособности того или иного приложения, лучше ставьте сервер, рекомендованный разработчиком этого ПО. Если Вам что-то в этой справке показалось не понятным, то дополнительную документацию можно почитать тут. Среди большого количества технической информации относительно свойств и настроек Firebird я, пожалуй, выделил бы такие как: порт и инстанс. Именно эти две сущности имеют значение при обращении приложения к той или иной версии СУБД Если на машине уже установлен сервер Firebird (особенно, если он запускается как сервис), то лучше удалить его штатным деинсталлятором. При этом файл с паролями и конфигурационные файлы штатный деинсталлятор не удаляет, и Вы их найдете по прежнему на "старом" месте. Перенесите их куда-нибудь в "надежное место" (особенно файл с паролями и файл с алиасами баз данных), ибо наверняка они Вам понадобятся (вряд ли Вы захотите вновь вводить всех имевшихся ранее юзеров с паролями ).
Причиной такого "варварского действия" по отношению к FB служит тот факт, что стандартный инсталлятор делает по умолчанию два вещи: запускает сервер как сервис и прописывает инстанс в реестре. Поэтому, если даже Вы запустите второй экземпляр (уже другой версии) сервера как приложение (а как сервис он точно не запустится), то программы все равно не смогут его (этот другой экземпляр) использовать.
Если же Вы по каким-то причинам не хотите удалять уже установленный сервер, то открываете апплет управления сервером ( Пуск → Настройка → Панель управления → Firebird х.х Server Manager, где х.х - версия сервера),
останавливаете сервер, нажав на кнопку "Stop" (надпись изменится на "Start"). Затем в группбоксе "Run" (тип запуска) выбираете опцию "as an application" (запускать как приложение)
и жмете кнопку "ОК". Затем, ищем в системном реестре (Пуск → Выплонить → вводим команду "regedit" и жмем "ОК") папку HKEY_LOCAL_MACHINE\SOFTWARE\Firebird Project\Firebird Server\Instances. В ней находится ключ "DefaultInstance", куда штатный инсталлятор прописывает путь к установленному серверу.
Удаляем этот ключ и закрываем окно. Все, теперь система "не знает", куда инсталлятор ставил Firebird. Идем сюда и скачиваем те версии Firebird (под Windows 32-bit), которые мы хотим установить,
а именно качаем полноценный сервер (не важно, какой версии) в виде архива, а не инсталлятора
Чтобы не было путаницы, условимся, что одна версия (пусть для примера это будет версия 2.1.4) у нас или уже стоит (установлена штатным инсталлятором, у нее мы выше описанным способом удалили ключ DefaultInstance и путь к ее каталогу установки c:\Program Files\Firebird\Firebird_2_1\), или мы ее поставим, как это будет описано ниже. Другая версия, которую мы установим параллельно и запустим, пусть будет версия 2.5.0. Скачиваем версию Firebird 2.5.0 и распаковываем ее (например, в папку c:\Program Files\Firebird\Firebird_2_5\), сохраняя относительные пути папок архива
Если же Вы его деинсталлировали ранее (и наверняка не забыли сохранить файл с паролями и конфигурационные файлы, не так ли? ), скачиваете эту версию также отдельным архивом и аналогично версии 2.5.0 распаковываете на жесткий диск. Теперь у нас есть две незапущенные версии сервера, о которых "система" не знает. Потому, мы можем запускать их поочередно или вместе в виде приложения (только не забудьте поменять файлы с паролями там, где они необходимы). Но и это еще не все. Необходимо внести некоторые поправки в конфигурационные файлы наших серверов. Переходим в корневой каталог версии 2.1.4, находим файл firebird.conf и открываем его любым текстовым редактором. Находим следующие параметры: RemoteServiceName и RemoteServicePort - это и есть упомянутые выше инстанс и порт сервера.
Как видно из скриншота, оба эти параметра закомментированы символом решетки #. Чтобы сервер "подхватил" эти параметры, раскомментируйте и измените эти параметры следующим образом
Как видно из скриншота, инстанс сервера версии 2.1.4 имеет значение "gds_db_214" (имя может быть любым, главное, чтобы было написано латиницей), порт мы оставили стандартным (3050). Теперь проделаем те же самые действия в отношении версии 2.5.0: идем в его корневой каталог (у нас это c:\Program Files\Firebird\Firebird_2_5\), находим firebird.conf и меняем инстанс и порт сервера следующим образом
Теперь уже инстанс сервера версии 2.5.0 имеет значение "gds_db_250" (имя может быть любым, главное, чтобы было написано латиницей), порт равен 3055. Итак, мы "развели" серверы по разным портам, осталось их только запустить. Для запуска используется исполняемый файл сервера fbserver.exe с параметром "-а" из папки bin\, причем для каждого сервера этот файл свой. Можно воспользоваться командной строкой аналогично тому, как это описано здесь. Однако, для меня проще записать последовательность команд в командный файл (*.bat или *.cmd) и запускать сервер кликом мышки Создадим в текстовом редакторе файл, внесем туда следующий текст
и сохраним под именем start_fbserv_21_as_appl.bat. Этим файлом мы будем запускать как приложение сервер 2.1.4. Обратите внимание, что в третьей строке
указывается путь к папке bin\ сервера версии 2.1.4 (Вы также обратили внимание, что если в именах папок есть пробел или название папки превышает 8 символов, то такая папка "экранируется" кавычками). Создадим точно такой же файл для сервера версии 2.5.0 (естественно с другими путями и под другим названием). Вот теперь можно поочередно запустить оба сервера. При этом в трее (внизу справа возле часов) появятся значки. Если навести курсор мыши на любой из них, то во всплывающем хинте можно увидеть версию сервера.
Завершить работу сервера можно командой "Shutdown" из контекстного меню
Теперь, когда серверы запущены, можно коннектиться к любому из них, лишь указывая в строке подключения номер порта. Есть еще один вариант запуска серверов. Он предназначен для особо ленивых юзеров и администраторов. Суть способа в следующем: создается *.reg файл, который прописывает ваши сервера в автозагрузку Windows. Немного теории (сокр., HKLM = HKEY_LOCAL_MACHINE; HKCU = HKEY_CURRENT_USER): - чтобы сервера запускались для всех пользователей на данной машине, необходимо добавить ключи в следующую ветку реестра [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] (для x64 ветка автоматически изменится на [HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run]).
Пользователь должен обладать правами Администратора. Можно за "один присест"
добавить сразу несколько ключей, например:
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
- также выше описанным способом можно "за один присест" удалить несколько
ключей.
- в Windows7 (не знаю, как в Win XP, не проверял) необходимо скорректировать
"Групповые политики", чтобы файл все-таки запускался автоматически. Для этого
запускаем в командной строке gpedit.msc
→
конфигурация компьютера
→
административные шаблоны
→
система
→
вход в систему
→
выполнять эти программы при входе в систему
→
правой клавишей мыши
→
изменить
→
включить
→
показать
→
вводим полный путь к исполняемой программе со всеми ключами.
Резюмируя выше изложенное, делаем следующее: - в текстовом редакторе создаете файл под любым именем и обязательным расширением .reg, сохраняете его и первой строкой пишете: Windows Registry Editor Version 5.00 - через пустую строку пишем для Win XP
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
для Win 7
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run] - сохраняем файл и запускаем на исполнение в проводнике. |