2016-04-11 369 views
2

Oracle 11.2.0.4.0環境で問題が発生しました。私はデータを選択できますが、 "ORA-01720"エラーが表示されない限り変更できません。ビューの作成時にOracleエラーが発生する - ORA-01720

私の設定について少し: 私は2つのスキーマ「A」と「B」をシンプルにしています。スキーマ "A"は "TABLE1"、 "TABLE2"、 "TABLE3"およびスキーマ "B"を所有しており、現在3つのテーブルすべてからデータを選択するのに必要な権限があります。私は、クエリと存在するビューを介してデータを選択できることを確認しました。

私のスキーマ「B」がこれらの3つのテーブル内のスキーマ「A」データへのアクセスを許可しているときに、私が作業中のビューを変更できないことを知っている人はいますか? Googleといくつかの提案から、私が試した "助成金オプション付き"の選択について言及していますが、受給者からではなく、所有者から直接データを選択しているときにどのように適用されるか分かりません。エラーメッセージは以下の通りです:

SQL Error: ORA-01720: grant option does not exist for 'A.TABLE1' 
01720. 00000 - "grant option does not exist for '%s.%s'" 
*Cause: A grant was being performed on a view or a view was being replaced 
      and the grant option was not present for an underlying object. 
*Action: Obtain the grant option on all underlying objects of the view or 
      revoke existing grants on the view. 
+0

あなたは、 'a.table1からbへのグラントオプションの付与を許可する 'の後にまだエラーが出ると言っていますか?また、table2とtable3でも同じですか?あるいは、これらの助成金が問題を解決したが、それがなぜ必要なのか理解したいのですか? –

+1

作業ビューを変更しようとしているとしますが、どのスキーマから変更しようとしていますか? AまたはB?何を変えようとしていますか? – Boneist

+1

また、[このブログの投稿](http://www.strsoftware.com/blog/my-lucky-find-for-ora-01720-grant-option-does-not-exist)は何が起こっているのかを説明していますか? – Boneist

答えて

5

それはあなたが所有していないテーブルを追加することはできませんOracleの11で導入された制限ですが、それでもcreate or replace force viewで既存のビューに、に権利を付与されています。最初にビューを削除し、それを再作成する必要があります。