Имя сервера и путь к нему
Имя сервера и путь к нему
При создании или перемещении базы данных убедитесь, что она располагается на жестком диске, который физически соединен с вашей серверной машиной. Файлы базы данных, расположенные на разделенных, назначенных дисках или (для UNIX) смонтированных как файловая система SMB (Samba), невидимы для сервера.
Начиная с Firebird 1.5, у вас есть возможность сохранять пути к базам данных на вашем сервере с использованием алиасов путей к базе данных. Это не только упрощает дело с установкой изменяемой строки соединения в ваших приложениях, но также добавляет дополнительный уровень безопасности для ваших удаленных соединений. Алиасы путей к базам данных не дают возможности чужим программам определить, где расположены ваши базы данных, и использовать эту информацию для разрушения ваших файлов.
Об алиасах базы данных см. главу 4.
Синтаксис строки соединения
Это строки соединения, очевидные для каждой платформы, которые нужны вам для конфигурирования алиасов и для соединения клиентов с базой данных, через сервер Firebird тех версий, которые не поддерживают алиасов базы данных.
TCP/IP
Строка соединения TCP/IP содержит два элемента: имя сервера и абсолютный путь диска/файловой системы, такой, как его видит сервер. Формат следующий:
* для соединения с сервером Linux:
имя-сервера: /путь-файловой-системы/файл-базы-данных
Вот пример для Linux или другой операционной системы семейства UNIX для сервера с именем hotchicken:
hotchicken:/opt/firebirdl5/examples/LeisureStore.fdb
! ! !
ВНИМАНИЕ! Помните, что для этих платформ все имена файлов являются чувствительными к регистру.
. ! .
* для соединения с сервером Windows:
имя-сервера:Диск: путь-файловой-системыфайл-базы-данных
Пример:
hotchicken:С:Program FilesFirebirdl5examplesLeisureStore.fdb
Прямая наклонная черта также допустима в Windows:
hotchicken:С:/Program Files/Firebirdl5/examples/LeisureStore.fdb
Локальное соединение в Windows
Соединение встроенного клиента или локального внешнего клиента в локальном режиме Windows:
C:Program FilesFirebirdl5examplesLeisureStore.fdb
Сеть Windows (Named Pipes/WNet)
Соединение удаленного клиента сервера Windows с использованием протокола Named Pipes:
\имя-сервераДиск:путьфайл-базы-данных
где \имя-сервера - правильный идентификатор имени узла серверной машины в сети Windows, не может быть разделяемым или назначенным диском. Например,
\hotchickenc:databasesLeisureStore.fdb
Несовместимые строки соединения для подключений Windows
Суперсервер для Windows устанавливает исключающую блокировку на файл базы данных, когда активируется первое клиентское подключение, чтобы защитить базы данных от старой ошибки.
Ошибка в пути соединения
Windows воспринимает две формы абсолютного локального пути к файлу - один (правильный в соответствии со стандартом DOS), имеющий вид устройство:путь- к-базе-данных, и другой: Устройство: путь-к-базе-данных (отсутствует обратная наклонная черта после обозначения дискового устройства).
Если сервер получил два клиентских запроса на соединение, первое, использующее стандартную форму пути, и второе, с использованием второй формы, он будет трактовать эти два соединения, как если бы они были соединениями с двумя разными базами данных. Результатом параллельных операций DML в подобном случае будет разрушение базы данных.
Для соединений с Суперсервером исключающая блокировка решает проблему требования для всех соединений применения того же формата пути, что был использован при первом соединении. То же решение не может применяться в случае Классического сервера, потому что каждое соединение работает с собственным экземпляром сервера. Позаботьтесь о том, чтобы ваше приложение всегда передавало согласованные строки пути.
! ! !
СОВЕТ. Настоятельно рекомендуется использовать алиасы базы данных (см. разд. "Алиасы базы данных" е главе 4) для всех соединений. Убедитесь также, что файл aliases.conf содержит один и только один алиас для каждой базы данных.
. ! .