ビューを作成するプロシージャ内に動的SQLがあります。文字列を印刷して手動で実行すると、ビューを作成できます。ただし、このプロシージャでは、権限が不十分なため例外がスローされます。私は、ユーザーにプロシージャを実行、作成、すべてを許可しましたが、それでも動作しません。助言がありますか?実行のためのOracle付与権限
1
A
答えて
5
パッケージ内では、間接的に(ロール経由で)付与された権限は削除されます。必要な特権を基になるオブジェクトに直接アカウントに付与する必要があります。例:この例では
conn sys/[email protected] as sysdba
create user A identified by A;
grant connect, dba to A;
conn A/[email protected]
create table test_tab(pk number);
conn sys/[email protected] as sysdba
create user B identified by B;
grant connect, dba to B;
conn B/[email protected]
select * from A.test_tab; -- this works
create or replace procedure do_it as
l_cnt pls_integer;
begin
select count(*) into l_cnt from A.test_tab; -- error on compile
end;
は、あなたが
grant select on A.test_tab to B;
(あなたが動的または静的SQLを使用しているかどうかは関係ありません)それを動作させる必要があります。
3
私が推測した小さな情報によれば、プロシージャは定義者権限(デフォルト)で実行されており、プロシージャの所有者にはビューの作成に必要な権限がありません。あなたの場合の適切な解決方法が、代わりに呼び出し者権限を持つプロシージャを作成するか、プロシージャの所有者に追加の権限を与えるかどうかは不明です。
実際のコードを投稿すると常に役立ちます。プロシージャには定義者権限または実行者権限がありますか?どのスキーマがビューを作成するはずですか?実行した実際の助成金は何ですか?
関連する問題
- 1. ストアド・プロシージャの権限をOracleの別のユーザーに付与
- 2. OracleのユーザーにDBA権限を付与する
- 3. SQL Azureでストアドプロシージャに実行権限を付与
- 4. oracleクラスタ・オブジェクトに権限を付与できますか?
- 5. Oracleトリガーの権限
- 6. 権限付与後にFacebookページにリダイレクト
- 7. Oracle 11gステートメントを使用して新しいユーザー権限と付与権限を作成しますか?
- 8. 実行プロセスにsudo権限を与える方法
- 9. sharepointコマンドレットを実行するためのtfsビルドの付与
- 10. Facebookのアプリ内で追加の権限を付与する
- 11. アクセス権の付与ApplicationPoolIdentity
- 12. オラクル - すべてのユーザーに付与権限
- 13. ユーザーに対してストアドプロシージャ権限のみを付与する
- 14. 自分のドメインアカウントにDB2権限を付与できません
- 15. oracleの新規ユーザーに特権を付与するための表を格納する場所1012
- 16. Android Marshmallowで実行時の権限チェック
- 17. unixのディレクトリにcdするための実行権限が必要ですか?
- 18. Webアプリケーションを実行するためのLinuxユーザー権限のベストプラクティスは?
- 19. Androidアプリのルート権限を与える
- 20. 「grant create session」権限を付与する方法は?
- 21. Team Foundation Server:コレクション全体にチェックアウト権限を付与する
- 22. 権限のためのDjangoの備品
- 23. デフォルトのMySQLのユーザー権限CREATE USERを実行した後
- 24. root権限でスクリプトを実行する
- 25. 断続PolicyException:実行権限が
- 26. PDFTKを実行するためのPHP権限を与えるにはどうすればよいですか?コマンドラインから実行
- 27. プログラムによる現在のユーザーサイト管理者権限の付与方法
- 28. ユーザーからどのテーブルへの権限付与を取り消すには?
- 29. SQL Server 2008のユーザーに限定された権限を与える
- 30. 特定のスキーマに対するユーザー権限を付与する方法は?