我在Oracle中創建數據庫中的一個角色,我能夠設置在sqlplus角色到用戶,如下:集DB角色
SQL> set role all_temper_role;
Role set.
但我需要設置在Oracle報告這個角色和我使用:
HOLD_CMD := 'ALL_TEMPer_ROLE';
DBMS_SESSION.SET_ROLE(HOLD_CMD);
但是這不起作用。請告訴我如何在oracle報告程序中設置這個角色。
我在Oracle中創建數據庫中的一個角色,我能夠設置在sqlplus角色到用戶,如下:集DB角色
SQL> set role all_temper_role;
Role set.
但我需要設置在Oracle報告這個角色和我使用:
HOLD_CMD := 'ALL_TEMPer_ROLE';
DBMS_SESSION.SET_ROLE(HOLD_CMD);
但是這不起作用。請告訴我如何在oracle報告程序中設置這個角色。
你可能想使你的角色名大寫,除非你知道你用小寫字符創造了它一個事實:
HOLD_CMD := 'ALL_TEMPER_ROLE';
DBMS_SESSION.SET_ROLE(HOLD_CMD);
Oracle提供了一個更好的方式,通過實現這個內置的行級安全(RLS)機制(也稱爲細粒度訪問控制或FGAC)。我們已經爲我們的報告完成了FGAC。
根據以前的文件,
1)增加了一個用戶參數P_CONC_REQUEST_ID 2)中加入 「srw.user_exit( 'FND SRWINIT');」到BeforeReport觸發器 3)添加「srw.user_exit('FND SRWEXIT');」到AfterReport觸發器
我們希望它可以幫助你。
Property Inspector(在報告級別)包含一個「角色名稱」屬性。經驗告訴我,這是最好的解決方案。