IB_UDF | F_GENERATESHDXINDEX(VALUE) |
Win32 | Получая строку VALUE, вычисляет ее значение SOUNDEX |
Аргументы | VALUE: столбец или выражение, вычисляемое в символьный тип, либо имя, для которого генерируется SOUNDEX |
Возвращаемое значение | Шестисимвольный индекс SOUNDEX |
Замечания | Простой алгоритм SOUNDEX используется для вычисления индекса SOUNDEX, он генерирует алгоритмический код. Вам не нужно понимать этот алгоритм для реализации индексирования SOUNDEX |
Пример | Следующий фрагмент триггера BEFORE INSERT демонстрирует, как эта функция может быть использована для автоматического сохранения столбца SOUNDEX в качестве столбца поиска в регистре участников: IF (NEW.LAST_NAME IS NOT NULL) THEN NEW. SOUNDEX NAME = F SNDXINDEX (NEW.LAST NAME) |
Приложение 2. Решение сетевых проблем
Когда у вас возникают проблемы подключения клиента к серверу, этот набор тестов может помочь вам локализовать причину. Если все они ошибочны, не забывайте о возможности проверки сетевых кабелей: вставлены ли они в разъемы и чисты ли все контакты!
Следующий список содержит основные вещи, которые вы можете попытаться сделать.
Можете ли вы вообще соединиться с базой данных?
Если у вас запущен Суперсервер под Windows или Классический сервер в POSIX, проверьте, можете ли вы выполнить локальное соединение. (Суперсервер в POSIX и Классический сервер в Windows не поддерживают локальных соединений.)
1. Вызовите окно командной строки на машине сервера базы данных и запустите приложение типа isql или графический инструмент под Windows, такой как IB SQL или IBAccess.
2. Попытайтесь соединиться с базой данных без задания имени хоста- просто укажите путь.
POSIX (все в одной команде):
./isql /opt/firebird/examples/employee.fdb
-user SYSDBA -password yourpwd
Windows (все в одной команде):
isql 'c:\Program Files\Firebird\Firebird_1_5\examples\employee.fdb'
-user SYSDBA -password yourpwd
Если это работает, значит сервер запущен и путь к базе данных правильный. В противном случае проверьте пароль, а также находит ли ваше приложение правильную версию клиентской библиотеки.
Можете ли вы соединиться с базой данных в локально закольцованном варианте?
Для любой версии сервера (кроме Встроенного сервера под Windows) вы можете эмулировать клиентское соединение с сервером через интерфейс удаленного клиента, соединяясь в локально закольцованном режиме TCP/IP (loopback). Это рекомендованный режим для всех локальных соединений к полным серверам. Если сервисы TCP/IP сконфигурированы и запущены в системе, это должно работать, даже если не инсталлирована сетевая карта.
Вначале откройте файл hosts в текстовом редакторе и убедитесь, что он содержит запись, подобную следующей:
127.0.0.1 localhost # local loopback server
В Windows этот файл должен находиться в каталоге \drivers\etc каталога %system%. В Windows 95/98 он, вероятно, находится в самом каталоге Windows. В POSIX он должен находиться в каталоге /etc.
Если такая запись отсутствует, добавьте ее, сохраните и закройте файл.
1. Вызовите окно командной строки на машине сервера базы данных и запустите приложение типа isql или графический инструмент под Windows, такой как IB SQL или IBAccess.
2. Попытайтесь соединиться с базой данных. POSIX:
./isql localhost:/opt/firebird/examples/employee.fdb -user SYSDBA -password yourpwd
Windows (все в одной команде):
isql 'localhost:с:\Program Files\Firebird\Firebird_1_5\examples\employee.fdb'
-user SYSDBA -password yourpwd
Если это работает, значит сервер запущен, TCP/IP работает, путь к базе данных правильный.
! ! !
ПРИМЕЧАНИЕ. Системы POSIX не исеользуют обозначение драйвера. При этом имя сервера, путь и имя файла чувствительны к регистру.
. ! .
Если локальное или локальное закольцованное соединение не проходит и вы уверены, что имя базы данных задано верно, следовательно есть какие-то ошибки в конфигурации сервера или сети.
Прослушивает ли сервер порт Firebird?
Сервис gds db (порт 3050) не будет отвечать, если серверный процесс не был запущен. См. табл. П2.1, где содержатся инструкции по запуску сервера.
Таблица П2.1. Запуск сервера