Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 12c (12.2.1.1.0) E77227-02 |
|
前へ |
次へ |
不透明なビューとは、SELECT文で構成されている物理レイヤーの表です。
新しい表が必要な場合、物理表またはマテリアライズド・ビューを作成する必要があります。不透明なビューは、他にソリューションがない場合にのみ使用してください。
マテリアライズド・ビューの詳細は、データベースとのメタデータ交換による問合せのパフォーマンス向上を参照してください。
この項では、次の項目について説明します。
「ビューのデプロイ」ユーティリティを使用して、データ・ソースに不透明なビューをデプロイします。
リポジトリでは、不透明なビューは、データ・ソースのビュー表として表示されますが、不透明なビューはデプロイされるまで実際には存在しません。
デプロイ後、不透明なビューはデプロイされたビューと呼ばれます。不透明なビューは、デプロイせずに使用できますが、Oracle BIサーバーで不透明なビューが検出されると、より複雑な問合せの生成が必要になります。
注意:
XLSデータ・ソースや非リレーショナル・データ・ソースなどのデータ・ソースでは、不透明なビューはサポートされておらず、ビューをデプロイするためのユーティリティも実行できません。
特定のデータ・ソースで不透明なビューがサポートされていることを確認するには、「データベース」ダイアログの「機能」タブで、CREATE_VIEW_SUPPORTED
SQL機能が選択されていることを確かめます。この手順については、データ・ソースでサポートされるSQL機能の指定を参照してください。
オフライン・モードで、「ビューのデプロイ」ユーティリティは、ODBCおよびDB2 CLIデータ・ソースで、データ・ソースからのインポート時に使用できます。
Oracleのネイティブ(クライアント)ドライバも、オフライン・モードでのビューのデプロイに対応しています。オンライン・モードでは、ビューのデプロイは、サポートされているデータ・ソースで、サーバーを通したインポートを使用して実行できます(クライアント上での設定は無視されます)。
リポジトリの物理レイヤーで不透明なビューをデプロイするためのSQL文は、サポートされているデータ・ソースで使用できます。
不透明なビューをサポートするデータ・ソースを判別するには、システム管理者に問い合せるか、データ・ソースのドキュメントを参照してください。
定義には、リポジトリ変数のみを使用します。ビュー定義にセッション変数が含まれていると、エラーが生成されます。
構文
CREATE VIEW view_name AS select_statement,
説明:
select_statement
は、不透明なビュー・オブジェクトでユーザーが入力したSQL文です。SQL文が無効な場合、create view文はビューのデプロイ時に失敗します。
view_name
は、schema.viewname
とviewname
のいずれかの形式です。接続プールの設定によって、スキーマ名が追加されるかどうかが決まります。
注意:
SELECT文で行単位の初期化変数を参照するには、VALUELISTOF
関数を使用します。たとえば、変数LIST_OF_USERS
内のユーザー名に割り当てられた顧客を取得するためには、次の構文を使用します。
RW.CUSTOMERS.USER_NAME in (VALUELISTOF(NQ_SESSION.LIST_OF_USERS))
リストに表示されている指定された値のみでフィルタをするには、ValueNameof
を使用して、次の例のようにします。最初の値は「0」であることに留意してください。「1」ではありません。
RW.CUSTOMERS.USER_NAME in '(ValueNameOf(0,NQ_SESSION.LIST_OF_USERS))
不透明ビュー・オブジェクトの場合、右クリック・メニューには、「ビューのデプロイ」オプションが含まれます。「ビューのデプロイ」を選択すると、Create View SQL文が実行され、デプロイされたビュー・オブジェクトの作成が試行されます。ビューのデプロイを開始する方法と各方法の結果について、次にまとめます。
1つの不透明ビュー・オブジェクトを右クリックします。「ビューのデプロイ」を選択すると、Create View SQL文が実行され、不透明ビュー・オブジェクトのデプロイされたビューの作成が試行されます。
複数のオブジェクトを右クリックします。選択したオブジェクトのうち少なくとも1つが不透明ビュー・オブジェクトの場合、右クリック・メニューには「ビューのデプロイ」オプションが含まれます。「ビューのデプロイ」を選択すると、Create View SQL文が実行され、修飾オブジェクトのデプロイされたビューの作成が試行されます。
物理スキーマまたは物理カタログを右クリックします。対象のスキーマまたはカタログに不透明ビュー・オブジェクトが存在する場合、右クリック・メニューには「ビューのデプロイ」オプションが含まれます。「ビューのデプロイ」を選択すると、すべての修飾オブジェクトに対するCreate View SQL文が実行され、選択したスキーマまたはカタログに含まれる修飾オブジェクトのデプロイされたビューの作成が試行されます。
デプロイ時に名前がビューに割り当てられます。事前割当ての名前を変更する場合、新しい名前は英数字で18文字以下にする必要があります。これらのガイドラインに従わないと、オブジェクト名は、次の名前変換アルゴリズムを使用して有効な名前に自動的に変換されます。
英数字以外の文字はすべて削除されます。
ステップ1の後に16文字以上ある場合は、最初の16文字が保持されます。
対応するコンテキストで名前を一意にするために、00 - 99の2桁の数字が名前に追加されます。
デプロイメント・プロセスが完了すると、次のことが起こります。
正常にデプロイされたビューとデプロイに失敗したビューがリストで表示されます。
失敗したデプロイメントの場合、リストに簡単な理由が表示されます。
デプロイメントが正常に実行された場合、不透明ビューのオブジェクト・タイプが「選択」から「なし」に変わり、デプロイされたビューは通常の表として扱われます。
オブジェクト・タイプを「選択」に戻すと、関連付けられている不透明ビューがデータ・ソースから削除されるか、エラー・メッセージが表示されます。デプロイされたビューの削除の詳細は、不透明なビューまたはデプロイされたビューを削除するタイミングを参照してください。
正常にデプロイされたビューについては、管理ツールの「ビュー」アイコンが、「デプロイされたビュー」アイコンに変わります。
不透明ビューをデプロイするには:
管理ツールの物理レイヤーで、デプロイする不透明ビューを右クリックします。
右クリック・メニューで、「ビューのデプロイ」を選択します。
「ビューのデプロイメント - ビューのデプロイ」ダイアログで、次の手順を実行します。
「新規表名」列で、デプロイされたビューの新しい名前を必要に応じて変更します。
変更がネーミング・ルールに準拠していない場合は、別の名前が割り当てられ、ダイアログが再度表示されて、その名前を受け入れることも変更することもできます。このアクションは、すべての名前が検証に合格するまで繰り返されます。
1つまたは複数のビューをデプロイしない場合は、該当する行をクリアします。
物理データベースに接続プールが複数定義されている場合は、「接続プールの選択」ダイアログで接続プールを選択し、「選択」をクリックします。
SQL文(CREATE VIEW
)が実行され、「ビューのデプロイメント・メッセージ」ダイアログが表示されます。
「ビューのデプロイメント・メッセージ」ダイアログでは、「検索」および「再検索」を使用したビューの検索やコンテンツのコピーを実行します。
終了したら、「OK」をクリックします。
デプロイされたビューに対して「ビューのアンデプロイ」ユーティリティを実行すると、ビューは削除され、ビュー表は元のSELECT
文が指定された不透明なビューに戻ります。
デプロイされたビューをアンデプロイするには:
リポジトリの不透明なビュー・オブジェクトまたはデプロイされたビュー・オブジェクトを削除するには次のガイドラインに従います。
リポジトリのデプロイされていない不透明なビューの削除。デプロイされていない不透明なビューは、リポジトリから削除できます。
デプロイされたビューの削除。不透明なビューをデプロイすると、物理的にデータ・ソースとリポジトリの両方にビュー表が作成されます。このため、ビューを削除する前にそのビューをアンデプロイする必要があります。管理ツールの「ビューのアンデプロイ」ユーティリティを使用します。このユーティリティにより、不透明なビューがバックエンド・データ・ソースから削除され、「表タイプ」が「なし」から「選択」に変わり、リポジトリの物理レイヤーのオブジェクトのSELECT
文がリストアされます。
注意:
データ・ソースのビュー表を手動で削除しないでください。この表を削除すると、Oracle BIサーバーで、そのビュー・オブジェクトを問い合せることができなくなります。ビューをアンデプロイすると、データ・ソースからそのビューが自動的に削除されます。