Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Название:Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94157-609-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание
Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.
Для разработчиков баз данных
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
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 Files\Firebird\Firebird_1_5\examples\employee.fdb'
-user SYSDBA -password yourpwd
Если это работает, значит сервер запущен и путь к базе данных правильный. В противном случае проверьте пароль, а также находит ли ваше приложение правильную версию клиентской библиотеки.
Можете ли вы соединиться с базой данных в локально закольцованном варианте?
Интервал:
Закладка: