![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с доступом к пакетной процедуре через роль [Oracle]
boa © (2002-06-24 06:50:00)С таблицами нет ни каких проблем, а вот пакетную процедуру не видит.
Прописываю:
CREATE PUBLIC SYNONYM PackegName ON Schema.PackegName
GRANT EXECUTE ON Schema.PackegName TO MyRole
GRANT MyRole TO User1
Когда User1 выполняет запрос с использованием процедуры - выскакивает ошибка "identifier "PackegName" must by declared"
Может я чего-то еще не сделал, или сделал не так.
Подскажите пожалуйста!
boa (2002-06-26 08:53:00) [1]> Yuvich
Точно, есть такое дело - только сейчас обратил на это внимание.
(вот что значит невнимательно читать документацию)
Огромное СПАСИБО!
Yuvich (2002-06-25 13:50:00) [2]> boa
В твоем случае будет так:
GRANT MyRole TO User1;
alter user User1 default role MyRole;
Если дефолтовых ролей будет много,то
alter user User1 default role MyRole, MyRole1, MyRole2;
MishGan (2002-06-25 10:44:00) [3]boa
alter user <username> default role all
boa (2002-06-25 06:08:00) [4]> Yuvich
Спасибо за лучь света ...
Только я не совсем понял, дефолтовый - это как?
Yuvich (2002-06-24 20:22:00) [5]"Execute на пакет должно быть дано непосредственно пользователю, а не через роль" - совсем не обязательно.
Есть два варианта задания грантов через роль:
- роль для User1 делается дефолтовой, поэтому гранты на все объекты, данные роли, автоматом переносятся на User1
- роль для User1 дефолтовой не является, но после открытия сессии выполняется команда:set role <role 1>, ...<role N>;, тлькл после этого гранты на все объекты, данные роли, переносятся на User1
boa (2002-06-24 09:57:00) [6]Непосредственно пользователю конечно можно (так и приходится делать) но в этом случае у меня возникаю некоторые неудобства в администрировании клиентов. Вот и хотельсь бы как-то решыть эту проблему. Ну если иначе нельзя, так нельзя.
kat (2002-06-24 09:30:00) [7]Execute на пакет должно быть дано непосредственно пользователю, а не через роль