Чтение онлайн

на главную - закладки

Жанры

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Борри Хелен

Шрифт:

Синтаксис строки соединения

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

TCP/IP

Строка соединения TCP/IP содержит два элемента: имя сервера и абсолютный путь диска/файловой системы, такой, как его видит сервер. Формат следующий:

* для соединения с сервером Linux:

имя-сервера: /путь-файловой-системы/файл-базы-данных

Вот

пример для Linux или другой операционной системы семейства UNIX для сервера с именем hotchicken:

hotchicken:/opt/firebirdl5/examples/LeisureStore.fdb

! ! !

ВНИМАНИЕ! Помните, что для этих платформ все имена файлов являются чувствительными к регистру.

. ! .

* для соединения с сервером Windows:

имя-сервера:Диск: \путь-файловой-системы\файл-базы-данных

Пример:

hotchicken:С:\Program Files\Firebirdl5\examples\LeisureStore.fdb

Прямая наклонная черта также допустима в Windows:

hotchicken:С:/Program Files/Firebirdl5/examples/LeisureStore.fdb

Локальное соединение в Windows

Соединение встроенного клиента или локального внешнего клиента в локальном режиме Windows:

C:\Program Files\Firebirdl5\examples\LeisureStore.fdb

Сеть Windows (Named Pipes/WNet)

Соединение удаленного клиента сервера Windows с использованием протокола Named Pipes:

\\имя-сервера\Диск:\путь\файл-базы-данных

где \\имя-сервера - правильный идентификатор имени узла серверной машины в сети Windows, не может быть разделяемым или назначенным диском. Например,

\\hotchicken\c:\databases\LeisureStore.fdb

Несовместимые строки соединения для подключений Windows

Суперсервер для Windows устанавливает исключающую блокировку на файл базы данных, когда активируется первое клиентское подключение, чтобы защитить базы данных от старой ошибки.

Ошибка в пути соединения

Windows воспринимает две формы абсолютного локального пути к файлу - один (правильный в соответствии со стандартом DOS), имеющий вид устройство:\путь- к-базе-данных, и другой: Устройство: путь-к-базе-данных (отсутствует обратная наклонная черта после обозначения дискового устройства).

Если сервер получил два клиентских запроса на соединение, первое, использующее стандартную форму пути, и второе, с использованием второй формы, он будет трактовать эти два соединения, как если бы они были соединениями с двумя разными базами данных. Результатом параллельных операций DML в подобном случае будет разрушение базы данных.

Для соединений с Суперсервером исключающая блокировка решает проблему требования для всех соединений применения того же формата пути, что был использован при первом соединении. То же решение не может применяться в случае Классического сервера, потому что каждое соединение работает с собственным экземпляром сервера. Позаботьтесь о том, чтобы ваше приложение всегда передавало согласованные строки пути.

! ! !

СОВЕТ. Настоятельно рекомендуется использовать алиасы базы данных (см. разд. "Алиасы базы данных" е главе 4) для всех соединений. Убедитесь также, что файл aliases.conf содержит один и только один алиас для каждой базы данных.

. ! .

Конфигурирование сервиса порта TCP/IP

По умолчанию Firebird прослушивает порт 3050 при запросе соединения от клиентов TCP/IP. Зарегистрированное имя сервиса этого порта gds_db. Хорошая новость - вы можете использовать эти установки по умолчанию и ничего не делать с конфигурацией сервиса порта ни для сервера, ни для клиента.

Вы можете использовать другой порт, другое имя сервиса порта или и то, и другое. Вам может понадобиться это сделать, если порт 3050 требуется для другого сервиса, например, если параллельно используемый gds_db сконфигурирован для другой версии Firebird или для сервера InterBase. Есть несколько способов перекрыть значения по умолчанию. Сервер и клиенты оба должны быть сконфигурированы для изменения имени сервиса или номера порта (или и того, и другого) по меньшей мере одним из следующих способов:

* в строке соединения клиента;

* в команде запуска исполняемой программы сервера;

* активацией параметров RemoteServicePort или RemoteServiceName В firebird.config (версия 1.5 и выше);

* в демоне конфигурации (для Классического сервера в POSIX);

* в записи файла services.

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

Как сервер устанавливает прослушиваемый порт

Исполняемая программа сервера имеет необязательный переключатель в командной строке (-р), который можно использовать для указания номера порта или имени сервиса порта, который будет прослушиваться сервером. Если присутствует этот переключатель, то номер порта 3050 или имя сервиса порта (gds_db) будут заменены на значение аргумента, указанного в переключателе -р.

Затем- или вначале, если не установлен переключатель -р,- сервер версии 1.5 проверяет наличие параметров RemoteServicePort и RemoteServiceName В firebird.config.

* Если оба параметра закомментированы с использованием #, то принимаются значения по умолчанию, и никакие дальнейшие изменения не выполняются. Любой аргумент -р игнорируется, и "отсутствующие" аргументы сохраняют значение по умолчанию.

* Если RemoteServiceName (но не RemoteServicePort) не закомментирован, то имя сервиса порта заменяется, только если это имя не было уже перекрыто переключателем -р.

* Если RemoteServicePort и RemoteServiceName не закомментированы, ТО RemoteServiceName получает приоритет, если он не был перекрыт аргументом -р. Если же имя сервиса порта уже было изменено, то значение RemoteServiceName будет проигнорировано, и новое значение RemoteServicePort заменит предыдущее значение 3050.

Поделиться:
Популярные книги

Архил…? Книга 3

Кожевников Павел
3. Архил...?
Фантастика:
фэнтези
попаданцы
альтернативная история
7.00
рейтинг книги
Архил…? Книга 3

Сила рода. Том 3

Вяч Павел
2. Претендент
Фантастика:
фэнтези
боевая фантастика
6.17
рейтинг книги
Сила рода. Том 3

Прометей: владыка моря

Рави Ивар
5. Прометей
Фантастика:
фэнтези
5.97
рейтинг книги
Прометей: владыка моря

Гром над Академией. Часть 1

Машуков Тимур
2. Гром над миром
Фантастика:
фэнтези
боевая фантастика
5.25
рейтинг книги
Гром над Академией. Часть 1

Хозяйка дома на холме

Скор Элен
1. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка дома на холме

Газлайтер. Том 10

Володин Григорий
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Газлайтер. Том 10

Последний Паладин

Саваровский Роман
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин

Мастер 6

Чащин Валерий
6. Мастер
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 6

Столичный доктор. Том III

Вязовский Алексей
3. Столичный доктор
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Столичный доктор. Том III

Наследник и новый Новосиб

Тарс Элиан
7. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник и новый Новосиб

Вперед в прошлое 5

Ратманов Денис
5. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 5

Последняя Арена 10

Греков Сергей
10. Последняя Арена
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Последняя Арена 10

Релокант

Ascold Flow
1. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант

Совок-8

Агарев Вадим
8. Совок
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Совок-8