在oracle报告中设置DB角色

时间:2011-01-13 20:21:41

标签: oracle report

我在oracle数据库中创建了一个角色,我可以在SQLPLUS中为用户设置角色,如下所示:

SQL> set role all_temper_role;

Role set.

但是我需要在oracle报告中设置这个角色,我使用:

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

但这不起作用。请告诉我如何在我的oracle报告程序中设置此角色。

3 个答案:

答案 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”属性。经验告诉我,这是最好的解决方案。