Выбрать главу

! ! !

ПРИМЕЧАНИЕ. Если вы изменяли firebird.conf (версия 1.5+) или ibconfig/ isc_config (версия 1.0.x), вам будет нужно остановить сервер и заново запустить его, чтобы изменения вступили в силу.

. ! .

Может ли клиент найти хост?

Сообщение об ошибке "Unable to complete network request to host" (Невозможно завершить сетевой запрос к хосту) появляется, когда клиент Firebird не может установить сетевое соединение с серверной машиной. Существует несколько общих причин.

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

* Используются старые драйверы и/или клиентские библиотеки. Вы должны использовать драйверы (ODBC, BDE и т.д.), сертифицированные для работы с вашей версией сервера Firebird. Например, SQL Explorer, который поставляется вместе с некоторыми продуктами Borland, вероятно, не сможет работать с Firebird по причине использования слишком старой версии BDE.

* Приложение находит неверную клиентскую библиотеку. Все версии инструментов администратора пытаются загрузить библиотеку libgds.so (клиенты POSIX) или gds32.dll (клиенты Windows), отыскивая ее по системному пути по умолчанию. Клиент Firebird 1.5 имеет имя libfbclient .so или fbclient.dll и не располагается по системному пути по умолчанию. Изучите самые последние замечания в каталоге Firebird /doc и/или в корневом каталоге, чтобы найти решение.

* На месте имени сервера используется адрес IP. Если вы предоставляете адрес IP вместо имени хоста (имя сервера), то драйвер TCP/IP может оказаться неспособным разрешить его, или время попытки разрешения может оказаться слишком большим. Обычно это проблема Windows 95 и ранних версий NT 4. См. предыдущие замечания по созданию записи в файле hosts и использованию ее для всех клиентских машин.

* Адрес IP хоста является непостоянным. Системы, которые используют динамическую адресацию IP, могут изменять адрес IP хоста без выдачи предупреждающих сообщений. Похожие проблемы могут возникнуть, если хост-машина имеет более одной сетевой карты. Создайте записи в файле hosts на серверной и клиентской машинах, чтобы связать имя сервера с адресом IP. Firebird 1.5 также предоставляет возможность конфигурирования RemoteBindAddress для того, чтобы соединения могли находить правильный канал для сервера Firebird.

* Отсутствует или неправильная запись gdsjib в файле services. Клиенты Firebird будут отыскивать сервис gds db в порте по умолчанию 3050. Если вы изменили символ сервиса или номер порта в файле services, вероятно, у вас недостаточно информации в строке соединения, чтобы можно было выполнить это соединение. Вернитесь к разд. "Конфигурирование сервиса порта TCP/IP" главы 2, если вам нужно сделать подобную установку.

! ! !

ПРИМЕЧАНИЕ. Вероятны также проблемы с сервисом порта, если у вас сервер InterBase или другой сервер Firebird, запущенный на той же серверной машине. Хотя это можно делать в версии 1.5, однако требует аккуратности при конфигурировании и не может быть указано в момент установки Firebird.

. ! .

* Указанный сетевой протокол недоступен. Синтаксис строки соединения в Firebird определяет сетевой протокол, используемый клиентом для соединения с сервером. Если ваш сервер не поддерживает протокол, указанные в строке соединения, то попытка соединения будет неудачной с появлением ошибки сети. Например, строка соединения для именованных каналов Windows (NetBEUI) не будет работать, если сервер выполняется под Windows 95/98, ME или XP, в Linux или на другой платформе POSIX. Только TCP/IP будет работать на этих платформах.

! ! !

ПРИМЕЧАНИЕ. Клиентская библиотека Firebird не поддерживает сетевой протокол IPX/SPX. Соединение будет неудачным, если вы попытаетесь использовать IPX/SPX, задавая его в строке соединения с базой данных в виде server@volume:/path/database.fdb.

. ! .

* Вы пытаетесь соединиться с совместно используемым устройством. Невозможно соединиться с базой данных в Windows, NFS или SMB (Samba) с совместно используемым устройством. Должен использоваться абсолютный путь файловой системы, как он виден с хоста.

* Строка пути несовместима с существующим соединением. Суперсервер Firebird будет блокировать соединение, если полученная строка пути несовместима с путем, используемым в существующем соединении. В Firebird добавлен этот механизм для защиты баз данных от давно существующей ошибки в предыдущем коде InterBase, что приводило к разрушению сервера с базами данных Windows.

! ! !

ВНИМАНИЕ! Классический сервер не имеет такой защиты. Если у вас Классический сервер под Windows, убедитесь, что различные клиенты всегда соединяются с использованием такой же строки пути. Несовместимость появляется, т. к. Windows примет обозначение диска без последующей наклонной черты, а именно C:Databases\mydb.fdb вместо C:\Databases\mydb.fdb. Это не является проблемой в POSIX, которая не имеет таких предпосылок к несовместимости.

. ! .

Нужно ли вам отключить автоматический набор номера для Интернета в Windows?

Операционные системы Microsoft Windows предоставляют по умолчанию сетевую возможность, удобную для пользователей, которые используют модем для подключения к Интернету - любой запрос TCP/IP, который появляется в сети, активизирует автоматическую программу набора номера. Это может стать проблемой для клиентских систем, использующих TCP/IP для доступа к серверу Firebird в локальной сети. Поскольку клиентские запросы применяют сервис TCP/IP, автоматически вызывается программа Windows набора номера, влияя на сетевые соединения от клиента к серверу.

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

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

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

Откройте Панель управления из меню Пуск и выберите Сетевые и Модемные соединения. Затем меню Дополнительно, и на вкладке Адаптеры и привязка в соответствующем месте поменяйте порядок адаптеров.

Изменение конфигурации Internet Explorer

Если у вас в качестве браузера установлен IE, откройте его апплет в Панели управления, и запретите автодозвон. Это находится в меню Соединения интернет- настроек браузера.

Здесь вы найдете несколько переключателей, один из которых нужен вам. Конкретное название переключателя меняется от версии к версии. Например, в английской версии Windows 2000 этот пункт называется Never dial a connection.

Запретить автодозвон через реестр

Для запрета автодозвона запустите Regedit и найдите ключ

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

Найдите ключ EnabieAutoDiai в правой панели и выберите Изменить. Поменяйте значение с 1 на 0.

Запретить автодозвон RAS

На серверных платформах Windows вы можете запретить сервис RAS AutoDial. Для этого откройте Сервисы в Панели управления. В NT 4 сервисы доступны сразу из Панели управления. В последующих версиях Windows сервисы перенесены в Administrative Tools. Прокрутите сервисы до Remote Access Auto Connection Manager (или в NT 4 - Remote Access Dialup Manager) и выберите его. Измените опцию запуска на Manual (Вручную).

Чтобы остановить сервис прямо сейчас, нажмите кнопку Стоп. Для запуска- кнопку Старт.

Все еще есть проблемы?