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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 196 197 198 199 200 201 202 203 204 ... 238

Возвращаемое значение

Число DOUBLE PRECISION или 0, если входное значение выходит за границы диапазона

Замечания

Если VALUE больше или равно 263 либо меньше или равно -263, то произойдет потеря значения, а функция сгенерирует ошибку A TLOSS и вернет 0

Пример

Следующий фрагмент триггера вычисляет и сохраняет синус угла в градусах:

IF (NEW.READINGl IS NOT NULL) THEN

NEW.RDG_SINE = SIN (NEW.READINGl) ;

Связанные или похожие функции

См. также cos(), ASIN(), SINH()

IB_UDF

HSIN(VALUE)

Linux, Win32

Возвращает гиперболический синус значения VALUE

Аргументы

VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, преобразуемым к значению (в градусах) от -263 до 263

Возвращаемое значение

Число DOUBLE PRECISION или 0, если входное значение выходит за границы диапазона

Замечания

Если VALUE больше или равно 263 или меньше или равно -263, то произойдет потеря значения и функция сгенерирует ошибку a_TLOSS и вернет 0

Пример

Следующий фрагмент триггера вычисляет и сохраняет гиперболический синус угла в градусах:

IF (NEW.READINGl IS NOT NULL) THEN

NEW.RDG_SIN_HYP = SINH(NEW.READINGl);

Связанные или похожие функции

См. также SIN(), TANH(), COSH()

IB_UDF

TAN(VALUE)

Linux, Win32

Возвращает тангенс значения VALUE

Аргументы

VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, преобразуемым к значению (в градусах) от -263 до 263

Возвращаемое значение

Число DOUBLE PRECISION или 0, если входное значение выходит за границы диапазона

Замечания

Если VALUE больше или равно 263 или меньше или равно -263, то произойдет потеря значения и функция сгенерирует ошибку a_TLOSS и вернет 0

Пример

Следующий фрагмент триггера вычисляет и сохраняет тангенс угла в градусах:

IF (NEW.READINGl IS NOT NULL) THEN NEW.RDG_TAN = TAN (NEW. READINGl) ;

Связанные или похожие функции

См. также сот(), ATAN(), TANH()

IB_UDF

TANH(VALUE)

Linux, Win32

Возвращает гиперболический тангенс значения VALUE

Аргументы

VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, преобразуемым к значению (в градусах) от -263 до 263

Возвращаемое значение

Число DOUBLE PRECISION или 0, если входное значение выходит за границы диапазона

Замечания

Если VALUE больше или равно 263 либо меньше или равно -263, то произойдет потеря значения, а функция сгенерирует ошибку a TLOSS и вернет 0

Пример

Следующий фрагмент триггера вычисляет и сохраняет гиперболический тангенс угла в градусах:

IF (NEW.READINGl IS NOT NULL) THEN

NEW.RDG_TAN_HYP = TANH (NEW. READINGl) ;

Связанные или похожие функции

См. также TAN(), ATAN()

Подпрограммы форматирования данных

FREEUDFLIB

F_DOLLARVAL(VALUE)

Linux, Win32

Форматирует значение числа с фиксированной точкой в формат валюты, например, в 99 999 999.99, подходящий для конкатенации с символами валюты и другими украшениями

Аргументы

VALUE: столбец или выражение, которое вычисляется в число типа DOUBLE PRECISION или FLOAT

Возвращаемое значение

Строка переменной длины

Замечания

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

Пример

SELECT '$' || F_DOLLARVAL (CAST (SUM (PURCHASE_AMT) AS DOUBLE PRECISION)) ||' USD'

AS TOTALISPEND FROM MEMBER ACCOUNT WHERE MEMBER_ID = 440099;

Связанные или похожие функции

См. также F_FixedPoint()

FREEUDFLIB

F_FIXEDPOIRT(VALUE1, VALUE2)

Win32

Форматирует передаваемое значение VALUE1 как строку с фиксированной точкой с количеством дробных знаков VALUE2

Аргументы

VALUE1: столбец или выражение, которое вычисляется в число с плавающей точкой: преобразуемое число.

VALUE2: константа или выражение, которое вычисляется в целый тип: количество знаков после десятичной точки для отображения в выходных данных

Возвращаемое значение

Строка переменной длины

Замечания

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

Пример

SELECT 'TOTALYARDAGE: ' || F_FIXEDPOINT(SUM(YARDAGE), 3) || ' yds'

AS TOTAL YARDAGE FROM PIECE_GOODS

WHERE PRODUCT_ID = 100;

Связанные или похожие функции

См. также FjDollarValue()

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 FilesFirebirdFirebird_1_5examplesemployee.fdb'

-user SYSDBA -password yourpwd

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

Можете ли вы соединиться с базой данных в локально закольцованном варианте?

Для любой версии сервера (кроме Встроенного сервера под Windows) вы можете эмулировать клиентское соединение с сервером через интерфейс удаленного клиента, соединяясь в локально закольцованном режиме TCP/IP (loopback). Это рекомендованный режим для всех локальных соединений к полным серверам. Если сервисы TCP/IP сконфигурированы и запущены в системе, это должно работать, даже если не инсталлирована сетевая карта.

Вначале откройте файл hosts в текстовом редакторе и убедитесь, что он содержит запись, подобную следующей:

127.0.0.1 localhost # local loopback server

В Windows этот файл должен находиться в каталоге driversetc каталога %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 FilesFirebirdFirebird_1_5examplesemployee.fdb'

-user SYSDBA -password yourpwd

Если это работает, значит сервер запущен, TCP/IP работает, путь к базе данных правильный.

! ! !

ПРИМЕЧАНИЕ. Системы POSIX не исеользуют обозначение драйвера. При этом имя сервера, путь и имя файла чувствительны к регистру.

. ! .

Если локальное или локальное закольцованное соединение не проходит и вы уверены, что имя базы данных задано верно, следовательно есть какие-то ошибки в конфигурации сервера или сети.

1 ... 196 197 198 199 200 201 202 203 204 ... 238
На этом сайте Вы можете читать книги онлайн бесплатно русская версия Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри.
Книги, аналогичгные Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри

Оставить комментарий