Установить роль БД в оракуле - PullRequest
1 голос
/ 13 января 2011

Я создаю роль в базе данных Oracle и могу установить роль для пользователя в SQLPLUS, как показано ниже:

SQL> set role all_temper_role;

Role set.

Но мне нужно установить эту роль в отчете Oracle и использовать:

HOLD_CMD := 'ALL_TEMPer_ROLE';
DBMS_SESSION.SET_ROLE(HOLD_CMD);

Но это не работает.Посоветуйте, пожалуйста, как установить эту роль в моей программе отчетов оракулов.

Ответы [ 3 ]

0 голосов
/ 26 января 2011

Oracle предлагает лучший способ добиться этого благодаря встроенному механизму защиты на уровне строк (RLS) (также известному как детальный контроль доступа или FGAC). Мы сделали FGAC для нашего отчета.

Согласнок предыдущим документам

1) добавлен параметр пользователя P_CONC_REQUEST_ID 2) добавлен "srw.user_exit ('FND SRWINIT');";к триггеру BeforeReport 3) добавлено "srw.user_exit ('FND SRWEXIT');"на триггер AfterReport

Мы надеемся, что он может вам помочь.

0 голосов
/ 11 февраля 2013

Инспектор свойств (на уровне отчета) содержит свойство «Имя роли». Опыт научил меня, что это лучшее решение.

0 голосов
/ 13 января 2011

Возможно, вы захотите сделать имя роли заглавной, если вы точно не знаете, что создали ее строчными буквами:

HOLD_CMD := 'ALL_TEMPER_ROLE';
DBMS_SESSION.SET_ROLE(HOLD_CMD);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...