0
私は、セキュリティ保護されたアプリケーション・ロールを使用してユーザーへのアクセスを許可しています。その非常識な形式では、それはそれのようになります。それがあるべきようセキュア・アプリケーション・ロールとSQL * Loader
create or replace package body main_user.PACK_SAR is
procedure grant_role is
begin
dbms_session.set_role('TEST_ROLE');
end;
end PACK_SAR;
パッケージは、authid current_user
です。 役割とユーザーは、以下のように構成されています
create role test_role identified using pack_sar;
grant select on task to test_role;
create user test_user identified by a;
grant create session to test_user;
grant execute on pack_sar to test_user;
は、その後、私は私のtest_user
、プロシージャを呼び出すと、すべてがうまくあるでログイン:
execute main_user.pack_sar.grant_role;
select * from main_user.task;
[... data from the task table ...]
しかし、今私は私のテストユーザーを使用したいですSQL * Loaderの、ので、私はafter logon
トリガーでプロシージャ・コールをするつもりです考えた:
create or replace trigger test_user.after_logon
after logon on test_user.schema
begin
main_user.pack_sar.grant_role;
end;
しかし、これはいずれかの操作を実行していないようです物事、私はログイン後の役割を取得しない...これのような何かをする方法はありますか?または、SQL * Loader内のセキュアなアプリケーション・ロールを使用できませんか?
ありがとうございました。