Категории
Самые читаемые
PochitayKnigi » Компьютеры и Интернет » Программирование » Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри

Читать онлайн Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 13 14 15 16 17 18 19 20 21 ... 238
Перейти на страницу:

Программа Guardian называется fbguard.exe в Firebird 1.5 и idguard.exe в более ранних версиях. Используйте следующую команду для старта Guardian:

fbguard.exe -a

ibguard.exe -а /* для версии 1.0.x */

Guardian размещает свою иконку на системной панели и автоматически стартует Суперсервер.

Имя программы сервера для Суперсервера fbserver.exe (ibserver.exe в Firebird l.O.x). Для запуска Суперсервера напрямую, минуя защиту Guardian, используйте команду:

fbserver.exe -a

ibserver.exe -а /* для версии 1.0.x */

Сервер стартует и размещает свою собственную иконку на системной панели.

Классический сервер

! ! !

ПРИМЕЧАНИЕ. Этот текст относится к Firebird 1.5 и следующим. Классический сервер для Windows не поддерживается в более ранних версиях.

. ! .

Основное преимущество выполнения Классического сервера в Windows - его возможность использовать мультипроцессорные системы. Эта функция недоступна в случае Суперсервера для многих систем SMP. Тем не менее, поскольку использование памяти Классическим сервером находится в прямой зависимости от количества одновременных подключений, может оказаться невозможным устанавливать систему на сайтах, где ресурсы сервера не обеспечивают поддержки большого количества пользователей в системе.

Процесс, который является "ушами" для запросов клиентов на соединение с Классическим сервером, является начальным экземпляром программы fb_inet_server.exe. Если начальный экземпляр fb_inet_server.exe не запущен, то не будет возможно соединение клиент-сервер; при попытке соединения вы получите сообщение об ошибке "Unable to connect to the server. Database cannot be found" (Невозможно соединиться с сервером. База данных не может быть найдена).

Когда клиенты соединяются с базой данных, для каждого клиентского соединения запускается один экземпляр fb_inet_server.exe (1.2 Мбайт) и, если сконфигурировано, один экземпляр Guardian на все экземпляры fb_inet_server.exe. Для каждого соединения выполняется собственное выделение кэш-памяти.

Классический сервер и Guardian

Случайно или умышленно, инсталлятор Firebird 1.5.0 имеет небольшую, но приводящую в замешательство аномалию. Если вы не отметите в процессе инсталляции режим Use Guardian (Использовать Guardian), инсталлятор поместит версию для Суперсервера программы Guardian в каталог bin, и он никогда не будет работать с Классическим сервером. Если вы отметите этот режим, то в процессе инсталляции получите сообщение об ошибке, однако инсталлированная версия Guardian будет прекрасно работать с Классическим сервером. Вы можете проверить, правильная ли у вас версия, попытавшись запустить Guardian. Если вы увидите диалоговое окно сообщения об ошибке, содержащее слово "fbserver", значит, вы не выбрали поддержку Guardian в процессе инсталляции.

В любом случае Guardian является лишним для Классического сервера. Вы ничего не потеряете, если не будете его инсталлировать. Я рекомендую игнорировать Guardian для Классического сервера.

Для запуска начального экземпляра Классического сервера как приложения вручную вызовите окно командной строки, перейдите в каталог bin и наберите:

fb_inet_server.exe -a

Иконка сервера должна появиться на системной панели. Ваш сервер теперь готов к получению запросов на соединение.

Вы можете альтернативно выбрать режим Use Guardian в процессе инсталляции. Вы также можете стартовать Guardian из того же каталога:

fbguard.exe -с -a

В этом случае иконка Guardian появится на системной панели, однако она не может быть использована для отмены инициализации сервера (см. ранее в разд. "Классический сервер" замечание о Классическом сервере).

Останов сервера

Останов сервера- операция, которая по-разному воздействует на Суперсервер и Классический сервер.

Суперсервер

Щелкните правой кнопкой мыши по иконке Guardian или сервера и выберите в контекстном меню Shutdown (Остановить). Если выполняется Guardian, то сначала он остановит сервер, а затем закроется сам. Подключенные в этот момент пользователи потеряют всю неподтвержденную работу.

Классический сервер

В большинстве случаев нет необходимости "останавливать" Классический сервер. Выбор варианта Shutdown в контекстном меню иконки сервера предотвратит новые соединения с сервером, но это не будет воздействовать на подключенные процессы.

! ! !

ПРИМЕЧАНИЕ. Щелчок мышью по варианту Shutdown в контекстном меню Guardian ничего не выполняет.

. ! .

Очень редко бывает нужным (если вообще бывает) останавливать Классический сервер вручную, поскольку закрытие клиентского соединения завершает этот процесс чисто и корректно. Единственный способ остановить Классический сервер, который выполняется как приложение, - применение "грубой силы", через Диспетчер задач.

Алиасы базы данных

Firebird 1.5 ввел концепцию алиасов базы данных не только для того, чтобы облегчить жизнь уставших от клавиатуры разработчиков, но и для того, чтобы улучшить переносимость приложений, а также чтобы усилить контроль над внутренним и внешним доступом к файлу базы данных.

aliases.conf

Средство алиасов включает файл конфигурации aliases.conf. Он находится в корневом каталоге вашей инсталляции сервера и не должен перемещаться оттуда.

Переносимость

До реализации 1.5 все клиентские приложения соединялись с сервером, используя строку соединения, которая включала абсолютный путь к серверу. Формат абсолютного пути меняется в зависимости от того, выполняется ли сервер под Windows или на POSlX-совместимой платформе (Linux, UNIX и т.д.), а для серверов под Windows еще и от того, какой вид сетевого соединения используют клиенты - TCP/IP или NetBEUI.

Предположим, у вашего сервера имя hotchicken. Если сервер выполняется на POSIX- совместимой платформе; клиенты TCP/IP будут соединяться с базами данных, используя строку соединения следующего формата:

hotchicken:/opt/databases/Employee.fdb

Если же сервер работает под Windows, клиенты TCP/IP должны соединяться, используя другой формат пути:

hotchicken:D:databasesEmployee.fdb

Средства алиасов базы данных делают эту разницу для клиентов TCP/IP прозрачной. Абсолютный путь строки соединения помещается в файл алиасов, связывая этот путь с простым именем алиаса. Например, в файле aliases.conf для сервера под Linux наш пример может быть сохранен как

dbl = /opt/databases/Employee.fdb

Для сервера в Windows, инсталлированного для клиентов TCP/IP, это может быть

dbl = D:databasesEmployee.fdb

Независимо от того, где установлен сервер - под Windows или POSIX - строка соединения для клиентов становится одинаковой:

hotchicken:dbl

Тем не менее это средство не является столь изящным, если вы хотите сделать строку соединения вашего приложения прозрачной как для соединений TCP/IP, так и NetBEUI. Нотация UNC для сервера под Windows для клиентов NetBEUI предполагает совместимость, однако если алиас базы данных идентичен, то серверная часть не является переносимой:

\hotchickendbl в сравнении с:

hotchi cken:dbl

Управление доступом

Основное преимущество средства алиасов в том, что оно может быть использовано в комбинации с параметром DatabaseAccess = NONE из файла firebird.conf для ограничения доступа к файлам баз данных - доступ разрешен только к файлам, указанным в aliases.conf.

Алиасы баз данных появились в Firebird 1.5. Для их использования отредактируйте файл aliases.conf в корневом каталоге инсталляции Firebird, используя текстовый редактор, такой как Блокнот (в Windows) или V1 (Linux).

Структура файла aliases.conf

Инсталлированный файл aliases.conf выглядит приблизительно таким образом:

#

# List of known database aliases

# ---------------------------------------------

#

# Examples:

#

# dummy = c:datadummy.fdb

#

Как и во всех файлах конфигурации Firebird, символ # является маркером комментариев. Для конфигурирования алиаса просто удалите символ # и замените строку dummy на соответствующий путь к базе данных:

# fbdbl и aliases.conf находится на сервере Windows:

fbdbl = c:Firebirdl5sampleEmployee.fdb

# fbdb2 и aliases.conf находится на сервере Linux

fbdb2 = /opt/databases/killergames.fdb

#

При каждом запросе на соединение, содержащем путь, заданный в формате алиаса, сервер обращается к файлу aliases.conf. Вы можете редактировать aliases.conf и когда сервер выполняется. Изменения не будут влиять на текущие соединения, но новые соединения будут использовать новые или измененные алиасы.

Соединение с использованием алиаса пути к базе данных

Для соединений TCP/IP, использующих предыдущий пример aliases.conf, измененная строка соединения в вашем приложении будет иметь следующий формат:

Имя_сервера:имя_алиаса

Например,

hotchicken:fbdb2

Для соединений Windows Named Pipes строка выглядит следующим образом:

\hotchickenfbdb2

Для локального соединения просто используйте собственный алиас.

Администрирование баз данных

Множество прекрасных графических инструментов - свободно распространяемых и коммерческих- доступны для администрирования баз данных Firebird. Информацию о подобных предложениях см. в приложении 5. Обновляемый каталог поддерживается на страницах Contributed Downloads на http://www.ibphoenix.com.

1 ... 13 14 15 16 17 18 19 20 21 ... 238
Перейти на страницу:
Тут вы можете бесплатно читать книгу Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри.
Комментарии