Если в СБиС’е заведены пользователи, то для каждой таблицы указывается специальная кодовая строка-пароль, которая требуется для последующего открытия этой таблицы. При загрузке СБиС’а программа делает это автоматически, но в случае назначения прав пользователей в SQL-представлении БД потребуется явное указание этого кода. Посмотреть его можно в списке пользователей (задача «Баланс и анализ», меню «Услуги>База данных>Пользователи». Он будет показан в правом нижнем углу диалога. Учтите, что этот код меняется каждый раз при изменении списка пользователей или прав какого-либо пользователя.
В SQL-представлении БД СБиС’а можно завести отдельный список пользователей. В случае, если у Вас уже заведены пользователи в самой программе, Вам это будет необходимо. Для этого требуется указать, что в базе данных будут пользователи. Делается это указанием пароля в свойствах БД в Pervasive Control Center (нужно нажать на иконке БД правую кнопку мыши и выбрать ”Properties”) на вкладке ”Security”. После этого появляется пользователь с именем ”Master” и указанным паролем, который будет иметь максимальные права на базу данных. В частности, он имеет права на создание новых пользователей и назначение им прав.
Здесь следует отметить важное различие между Pervasive.SQL2000 Service Pack1 и последующими версиями сервера. В PSQL2000SP1 при назначении прав указание пароля таблицы (owner) не требуется, но в последующих версиях при назначении прав пользователю на какую-либо таблицу требуется указать пароль этой таблицы (owner). Сделать это нужно только для назначения прав – при работе этого пользователя с базой пароль на таблицы уже не потребуется. Также изменились права по умолчанию для пользователя Master – начиная с Service Pack 2A он по умолчанию не имеет никаких прав на таблицы, но может сам присвоить их себе).
Существует два способа заведения пользователей и назначения им прав. Это можно делать в интерактивном режиме или с помощью операторов SQL.
Создание пользователей в интерактивном режиме
Для заведения пользователей в Pervasive Control Center откройте базу данных, в которую вы будете добавлять пользователей. PCC будет иметь вид как на рисунке.

Как видно, в списке пользователей (Users) присутствует только две записи – Master (самый главный пользователь) и Public – пользователь, создаваемый по умолчанию. Для добавления нового пользователя наживаем в правой части экрана правую кнопку мыши и из появившегося меню выбираем “New user…”. Появится показанный ниже диалог.

В нём следует указать имя создаваемого пользователя и его пароль (два раза, второй для проверки). После этого переходим на вкладку “Permissions”. Она имеет показанный ниже вид.

Здесь представлен список таблиц, для которых можно указать права, установив флаг в соответствующем квадрате. Обратите внимание, что в случае указания прав для какой-либо таблицы во втором столбце (Owner Name) следует ввести соответствующий пароль таблицы. О том, как его получить, было написано выше. После того, как все требуемые права указаны, можно нажимать “OK”. Пользователь создан.
Использование SQL для создания пользователей
Для выполнения операторов SQL (которые потребуются в том числе и для заведения пользователей) можно использовать Pervasive Control Center. Откройте в нём базу данных, зайдите в список таблиц (будет запрошено имя пользователя и пароль, укажите “Master” и соответствующий пароль) и в меню, вызываемом правой кнопкой мыши, выберите “Tasks>Execute SQL Query”. В появившемся окно можно вводить любые SQL операторы и выполнять их, выбирая соответствующий пункт из меню “Tools”.
Для заведения нового пользователя используется оператор GRANT. Формат его такой:
GRANT LOGIN TO user:password
Здесь user – имя пользователя, password – назначенный ему пароль. Например, для того, чтобы завести пользователя с именем Elena и паролем PAROL, следует выполнить следующую команду:
GRANT LOGIN TO Elena:PAROL
После того, как пользователь занесен в базу данных, он может в неё заходить, но не может выполнять в ней никаких действий, так как изначально ему всё запрещено. Чтобы пользователь мог что-либо делать, ему необходимо дать соответствующие права. Для этого используется тот же оператор GRANT, но немного в другой форме:
GRANT right ON table ‘owner’ TO user
Здесь right –это право, которое требуется дать пользователю по имени user на таблицу table. Право может быть одно из следующих:
§ ALL – все права на таблицу
§ SELECT – право просматривать данные таблицы
§ UPDATE – право изменять данные таблицы
§ INSERT – право добавлять данные в таблицу
§ DELETE – право удалять данные из таблицы
Обратите внимание, что после указания имени таблицы, на которую требуется дать права, в одинарных кавычках указывается строка-пароль (owner) для этой таблицы. О том, как его получить, было написано выше. Соответственно, следующая команда разрешает пользователю Elena все операции с таблицей ANALIT, пароль которой ‘12345678’:
GRANT ALL ON analit ‘12345678’ TO Elena
Однако полные права рекомендуется давать с большой осторожностью. Как правило, можно ограничиться только просмотром. Делается это такой командой:
GRANT SELECT ON analit ‘12345678’ TO Elena







