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

Тут можно читать бесплатно Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ. Жанр: Компьютеры и Интернет / Программирование, год -. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте «WorldBooks (МирКниг)» или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

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

Прочтите описание перед тем, как прочитать онлайн книгу «Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ» бесплатно полную версию:
Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.Для разработчиков баз данных

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

Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать книгу онлайн бесплатно, автор Хелен Борри

Если значения по умолчанию для номера порта или имени сервиса были изменены, то вам нужно создать запись в файле services.

! ! !

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

. ! .

Установка клиента для поиска порта сервиса

Если вы установили ваш сервер с инсталляционными значениями по умолчанию (сервис gds db прослушивает порт 3050), то конфигурирование не требуется. Если сервер прослушивает другой порт или используется другое имя сервиса порта, то приложение клиента и/или хост-машины требуют некоторых изменений конфигурации, чтобы помочь клиентской библиотеке Firebird найти прослушиваемый порт.

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

Использование строки соединения

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

Синтаксис соединения TCP/IP

Для соединения с сервером базы данных, названным hotchicken, связанным с портом 3050 и сервисом fb_db, строка соединения в POSIX должна быть следующей:

hotchicken/fb_db:/data/leisurestore.fdb

Если же сервер имеет имя gds db, а номер порта 3051, то строка соединения должна быть следующей:

hotchicken/3051:/data/leisurestore.fdb

В Windows строка соединения должна быть:

hotchicken/3051:D:\data\leisurestore.fdb hotchicken/fb_db:D:\data\leisurestore.fdb

Обратите внимание, что разделитель между именем сервера и портом наклонная черта, а не двоеточие. Двоеточие требуется в строке физического пути после имени диска.

Синтаксис соединений Wnet

В сети Wnet используйте стиль нотаций UNC:

\\[email protected]\d:\leisurestore.fdb

или

\\[email protected]_db\d:\leisurestore.fdb

Если номер порта или имя сервиса были изменены, то вам нужно создать запись в файле services.

Использование синтаксиса порта для алиасов базы данных

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

hotstuff = /data/leisurestore.fdb

Строка соединения вашего приложения с сервером hotchicken будет следующей:

hotchicken/fb_db:hotstuff

или

hotchicken/3051:hotstuff

Использование копии firebird.conf

В Firebird 1.5 и выше вы можете скопировать на клиентскую сторону в корневой каталог Firebird файл firebird.conf и сконфигурировать RemoteServiceName или RemoteServicePort для помощи клиенту в поиске серверного порта.

Вы можете конфигурировать один из этих двух параметров; изменение значения другого параметра можно выполнить через строку соединения (см. ранее). Вы можете перекрыть значение только RemoteServiceName или RemoteServicePort без использования строки соединения.

Если вам не нужно передавать имя сервиса порта или номер порта в строке соединения, а сервер не использует значения по умолчанию для обоих параметров, вы можете конфигурировать оба RemoteServiceName и RemoteServicePort. Вы можете использовать эту технику, если вашему клиентскому приложению нужно сохранить возможность соединяться с серверами InterBase или Firebird 1.0.

Размещение данных Firebird на клиентах

Если вы используете на клиентских машинах файл firebird.conf, нужно, чтобы клиентская библиотека знала, где его найти. Вам необходимо создать корневой каталог Firebird и проинформировать систему о его местонахождении. Используйте для этого переменную среды FIREBIRD таким же образом, как и для серверов (см. главу 3). Клиенты Windows могут также использовать запись в реестре. При правильной установке клиента вы можете также сделать доступной локальную версию файла сообщений. Более подробную информацию см. в разд. "Инсталляция клиентов" в главе 7.

Конфигурирование файла services

Вам не нужно изменять запись сервиса порта для сервера или клиентов Firebird, если сервер использует значения по умолчанию, заданные при инсталляции - gds db для порта 3050. Если gds db - имя сервиса порта, который не может использовать любой другой порт, то он будет применять порт 3050 автоматически.

Если вы изменили номер порта или имя сервиса, вы должны сделать явные изменения для сервера и клиентов, чтобы отобразить эти изменения. В Linux и Windows данная информация хранится в файле services.

Местонахождение файла services

Местонахождение файла services на разных платформах:

* в Windows NT/2000/XP этот файл находится в C:\winnt\system32\drivers \etc\services;

* в Windows 95/98/ME файл находится в C:\Windows\services;

* в Linux/UNIX файл находится в /etc/services.

Записи файла services выглядят следующим образом:

gds_db 3050/t.cp # Firebird Server 1.5

Откройте файл в текстовом редакторе и добавьте новую строку или измените существующую запись gds db.

* Для сервера или клиента Firebird 1.0.x измените имя сервиса или номер порта для согласования с параметрами запуска сервера.

* Для сервера Firebird 1.5 или выше отредактируйте или добавьте нужную строку. Если у вас инсталлирован сервер Firebird 1.0 или InterBase на том же хосте, сохраните нужные для них записи и добавьте новую запись для согласования с параметрами запуска сервера.

! ! !

ПРИМЕЧАНИЕ. Если данная строка является последней в файле services, то рекомендуется в конце файла добавить пустую строку.

. ! .

Проверка соединения с помощью ping

Вы сделали все нужные изменения. Последняя проверка нужна, чтобы убедиться, что ваша клиентская машина может связываться с сервером. Вы можете быстро проверить, что ваш клиент TCP/IP связывается с сервером, используя в окне командной строки команду ping:

ping имя-сервера// подставьте имя, которое вы записали в файле HOSTS

Если соединение прошло хорошо, и все правильно сконфигурировано, вы увидите приблизительно следующее:

Pinging hotchicken [10.10.0.2] with 32 bytes of data

reply from 10.10.0.2: bytes=32 time<10ms TTL=128

reply from 10.10.0.2: bytes=32 time<10ms TTL=128

reply from 10.10.0.2: bytes=32 time<10ms TTL=128

reply from 10.10.0,2: bytes=32 time<10ms TTL=128

Нажмите комбинацию клавиш <Ctrl>+<C> для прекращения сообщений ping.

Если ping выдает ошибку

Если вы получили нечто вроде

Bad IP address hotchicken (Неверный IP-адрес hotchicken)

то имя хоста в записи файла для имя-сервера (в этом примере hotchicken) может быть отсутствует или неверно написано. К примеру, все идентификаторы в Linux/UNIX являются чувствительными к регистру. Другая причина может заключаться в том, что имя хоста вашего сервера просто не было сконфигурировано.

Если вы увидите:

Request timed out

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

* нет ошибок в имени хоста в записи файла;

* сетевой кабель подключен, провод и контакты не повреждены и не ржавые;

* конфигурация сети позволяет направлять сетевой трафик между клиентом и сервером. Ограничения подсети или системы сетевой защиты могут препятствовать серверу в получении данных от клиента.

• Ограничения подсети: TCP/IP может быть сконфигурирован для ограничения трафика между подсетями. Если ваша клиентская машина является частью сложной сети или подсети, уточните у сетевого администратора, имеет ли она неограниченный доступ к серверу.

! ! !

ВНИМАНИЕ! WNet не позволяет направлять сетевой трафик между подсетями.

. ! .

• Система сетевой защиты (firewall): ваша проверка соединения может дать ошибку, если сервер базы данных находится под программной или аппаратной системой сетевой защиты, которая блокирует порт 3050 или сконфигурированный вами порт.

Проблемы с событиями

Несмотря на то, что каждый клиент соединяется с сервером через один канал, события Firebird - механизм обратной связи, который позволяет передавать сообщения о событиях назад клиентам с помощью триггеров и хранимых процедур, - используют произвольные доступные порты. В статических замкнутых сетях без внутренних систем сетевой защиты это обычно не вызывает проблем. В сетях, где существует множество подсетей, динамическая IP-адресация и строго сконфигурированная система сетевой защиты, передача событий может закончиться неудачей.

В Firebird 1.0.x ваш сетевой администратор должен установить некий способ, чтобы гарантировать наличие доступного порта, который всегда свободен, открыт и является статическим. Проблема может быть решена тем или иным образом в большинстве сетей.

Firebird 1.5 упрощает дело. Он делает возможным явно задавать IP-адрес в сети для трафика событий. Используйте параметр RemoteAuxPort в файле firebird.conf с целью статической установки IP-адреса для интерфейса (карта, маршрутизатор, шлюз и т.д.), который будет доступен для направления событий.

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.