Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Название:Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94157-609-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание
Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.
Для разработчиков баз данных
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
a[dd] имя-пользователя -pw пароль [другие переключатели]
Здесь имя-пользователя- уникальное новое имя пользователя, а пароль- пароль, связанный с этим пользователем.
! ! !
ПРИМЕЧАНИЕ. Переключателем для нового пароля при добавлении пользователя или при изменении его пароля является -pw. Не путайте его с сокращенной формой переключателя пароля при соединении SYSDBA, который задается в виде -ра.
. ! .
Пример:
GSEO add mmouse -pw Veritas
Для добавления пользователя hpotter с именем Harry Potter и паролем noMuggle введите:
GSEC> add hpotter -fname Harry -lname Potter -pw noMuggle
Для проверки новой записи:
GSEC> display hpotter
user_name uid gid full name
HPOTTER Harry Potter
! ! !
ПРИМЕЧАНИЕ. Если вы попытаетесь ввести недопустимые символы в строке пароля, gsec просто завершит работу без выдачи сообщения.
. ! .
Используется для изменения (редактирования) значения столбца в существующей записи USERS. Задайте имя пользователя, для которого требуются изменения, затем укажите один или более переключателей, определяющие изменяемые элементы, и новое значение для каждого из них.
Например, для задания идентификатора пользователя 25 для пользователя mickey, изменения имени (first name) на Michael и изменения пароля на icecream введите следующие переключатели:
GSEC> modify mickey -uid 25 -fname Michael -pw icecream
Вы не можете изменить имя пользователя. Удалите старого пользователя и добавьте нового.
Удаляет пользователя с указанным именем из таблицы USERS. Команда не получает никаких аргументов и переключателей.
de[lete] имя-пользователя Пример:
GSEO delete mickey
Вы можете использовать команду display, чтобы убедиться в удалении записи.
Любой из этих переключателей позволяет отобразить общие сведения о командах gsec, переключателях и синтаксисе.
Завершает интерактивную сессию.
Использование gsec из командной строки
Для использования gsec из командной строки преобразуйте каждую команду gsec в командный переключатель, добавив префикс в виде знака минус (-). Переключатели остаются теми же самыми.
Например, для добавления пользователя claudio и назначения ему пароля dbkeycop в командной строке введите следующее.
В Windows:
,.\BIN> gsec -add claudio -pw dbkeycop -user SYSDBA -password masterkey
В POSIX:
bin]$ ./gsec -add claudio -pw dbkeycop -user SYSDBA -password masterkey
Для отображения содержимого таблицы USERS введите: > gsec -display и так далее.
Сообщения об ошибках gsec
В табл. 34.2 представлены сообщения об ошибках gsec.
Таблица 34.2. Сообщения об ошибках gsec
Сообщение |
Причины и рекомендуемые действия |
Add record error (Ошибка добавления записи) |
Неверный синтаксис или вы пытаетесь добавить пользователя, который уже существует, или вы не являетесь пользователем SYSDBA. Используйте modify, если пользователь уже существует |
already specified (<���строка> уже была задана) |
Вы включили переключатель более одного раза в команду add или modify. Введите команду заново |
Error in switch specifications (Ошибка в задании переключателя) |
Это сообщение сопровождает другие сообщения об ошибках и указывает на то, что был использован неверный синтаксис. В этом случае просмотрите другие сообщения об ошибках |
Find/delete record error (Ошибка поиска удаляемой записи) |
Команда удаления не может найти указанного пользователя или вы не являетесь пользователем SYSDBA |
Find/display record error (Ошибка поиска отображаемой записи) |
Команда модификации не может найти указанного пользователя или вы не являетесь пользователем SYSDBA |
Incompatible switches specified (Заданы несовместимые переключатели) |
Например, вы ввели множество переключателей для команды удаления, которая требует только одного обязательного аргумента имя-пользователя. Скорректируйте синтаксис и выполните команду заново |
Invalid parameter, no switch defined (Неверный параметр, не задан переключатель) |
Вы указали значение без аргумента |
Invalid switch specified (Задан неверный переключатель) |
Вы задали нераспознанный переключатель. Исправьте и вновь выполните команду |
No user name specified (He задано имя пользователя) |
Задавайте имя пользователя после команд или переключателей добавления, изменения или удаления |
Record not found for user: (He найдена запись для пользователя: <���строка>) |
Запись указанного пользователя не найдена. Отобразите список пользователей и вновь введите команду |
Unable to open database (Невозможно открыть базу данных) |
База данных безопасности не существует или не может быть локализована на сервере. Запустили ли вы gsec вне каталога Firebird? Пытаетесь ли вы получить доступ к удаленному серверу, который не был инсталлирован? |
Специальная тема: настройка безопасности пользователя
Идентификация пользователя Firebird довольно проблематична. Хорошая новость: все изменится к лучшему в Firebird 2. Плохая новость: нам придется с этим жить еще некоторое время. Ivan Prenosil- эксперт, в течение длительного времени занимающийся разработкой баз данных с использованием Firebird и его предшественников - создал несколько техник для настроек безопасности баз данных. Ivan согласился поделиться с вами своими советами и скриптами в данной специальной теме.
База данных безопасности
Когда пользователь соединяется с базой данных Firebird, его пароль сравнивается с зашифрованным паролем в базе данных безопасности. В версии 1.0.x имя базы данных isc4.gdb, в версии 1.5 - security.fdb. Это обычная база данных Firebird, таблица, используемая для идентификации пользователей, USERS. Ее (упрощенная) структура выглядит следующим образом:
CREATE TABLE USERS (
USER_NAME VARCHAR(128) ,
PASSWD VARCHAR(32) ); /* V
GRANT SELECT ON USERS TO PUBLIC;
Для проверки разрешений к этой таблице существует два очевидных препятствия. Одно - ни один пользователь не может прочесть полный список пользователей и зашифрованных паролей. Другое - только пользователь SYSDBA может изменять эту таблицу - пользователи не могут изменять их собственные пароли.
При этом, если вы пользователь SYSDBA, вы можете соединиться с базой данных безопасности, как и с любой другой базой данных, и изменять ее структуру. Это означает, что вы можете ее улучшать.
! ! !
ВНИМАНИЕ! Не забудьте сделать копию базы данных безопасности перед тем, как начнете ее изменять!
. ! .
При идентификации пользователей в Firebird 1.0.x сервер соединяется с базой данных безопасности, отыскивает необходимую информацию, а затем отсоединяется. Между соединениями у вас могут быть "не очень хорошие отношения" с isc4.gdb.
Однако в Firebird 1.5 соединение с базой данных безопасности сохраняется, пока пользователь соединен с любой базой данных на сервере. Поэтому в версии 1.5 вы должны выполнять все изменения с копией базы данных безопасности и позже ее инсталлировать. Нужно выполнить следующие шаги.
Читать дальшеИнтервал:
Закладка: