ヘッダーをスキップ
Oracle OLAP DMLリファレンス
11g リリース1(11.1)
E05732-02
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

PERMITERROR

PERMITERRORオプションは、PERMIT文によって読取り権限や書込み権限が拒否されている変数がアクセスされたときに、エラーを通知するかどうかを制御します。


参照:

「起動プログラム」PERMITコマンドおよびPERMITRESETコマンド

データ型

BOOLEAN

構文

PERMITERROR = NO|YES

引数

NO

PERMITERRORをNOに設定すると、PERMIT文によって読取り権限や書込み権限が拒否されている変数がアクセスされたときにエラー条件は発生しません。読取り権限のない値は、NAと表示されます。書込み権限のない値を変更しようとすると、その要求は無視されます。

YES

PERMITERRORがYES(デフォルト)である場合、PERMIT文によって読取り権限や書込み権限が拒否されている変数がアクセスされるとエラーが通知されます。このエラーはトラップできますが、このエラーにより、無効なアクセスを開始したOracle OLAP操作は終了します。

注意

プログラム、モデルおよび値セット

プログラム、モデル、値セットなど、ディメンション性のないオブジェクトに対する権限の違反については、PERMITERRORの設定は無視されます。権限がある変数およびリレーションにディメンション性があるかどうかにかかわらず、これらにアクセスしようとした場合、常にPERMITERRORの設定の影響を受けます。

ディメンションのメンテナンス

PERMITERRORの設定は、メンテナンス権限や許可権限の違反については無視されます。ディメンションをメンテナンスする権限および権限を変更する権限に違反しようとすると、常にエラーとして処理されます。同様に、ディメンションに対する読取り権限または書込み権限に違反しようとした場合も、常にエラーとして処理されます。

完全な権限のないデータの取得

PERMITERRORの設定がYESであり、読取り権限のない値が含まれるディメンション化された変数をフェッチしようとした場合、これらの値のうち最初の値が検出されたときにエラー条件が発生します。レポートを作成する前に、許容される値のみがステータスにあるように前もってディメンションを制限するか、PERMITERRORをNOに設定することによって、エラー条件の発生を防止できます。

例6-90 完全な権限のないレポート

次の例では、price変数の読取り権限に制約があるために、Tents以外のproductの値については価格データを参照できません。ただし、PERMITERRORをNOに設定すると、エラー条件を発生させることなく、1996年12月のprice変数のレポートを生成できます。

PERMITERROR = no
DESCRIBE price

この文の出力は次のとおりです。

DEFINE PRICE VARIABLE DECIMAL <MONTH PRODUCT>
LD Wholesale Unit Selling Price
PERMIT READ WHEN product eq 'Tents'

次の文を発行します。

LIMIT month TO 'Dec96'
REPORT price

生成される出力は次のとおりです。

                  ----PRICE----
                  ----MONTH----
PRODUCT               DEC96
----------------  -------------
Tents                  165.64
Canoes                     NA
Racquets                   NA
Sportswear                 NA
Footwear                   NA

次の文を発行します。

PERMITERROR = yes
REPORT price

次のエラーが生成されます。

ERROR: You do not have permission to read this value of PRICE

さらに、次の出力が生成されます。

                 ---PRICE---
                 ---MONTH---
PRODUCT             DEC96
---------------  -----------
Tents                165.64