我在oracle数据库中创建了一个角色,我可以在SQLPLUS中为用户设置角色,如下所示:
SQL> set role all_temper_role;
Role set.
但是我需要在oracle报告中设置这个角色,我使用:
HOLD_CMD := 'ALL_TEMPer_ROLE';
DBMS_SESSION.SET_ROLE(HOLD_CMD);
但这不起作用。请告诉我如何在我的oracle报告程序中设置此角色。
答案 0 :(得分:0)
你可能想让你的角色名称大写,除非你知道你用小写字符创建它的事实:
HOLD_CMD := 'ALL_TEMPER_ROLE';
DBMS_SESSION.SET_ROLE(HOLD_CMD);
答案 1 :(得分:0)
Oracle通过其内置的行级安全性(RLS)机制(也称为细粒度访问控制或FGAC)提供了更好的方法来实现这一目标。我们已经为我们的报告完成了FGAC。
根据之前的文件,
1)添加了用户参数P_CONC_REQUEST_ID 2)添加了“srw.user_exit('FND SRWINIT');”到BeforeReport触发器 3)添加了“srw.user_exit('FND SRWEXIT');”到AfterReport触发器
我们希望它可以帮到你。
答案 2 :(得分:0)
Property Inspector(在报告级别)包含“Role Name”属性。经验告诉我,这是最好的解决方案。