機械翻訳について

C.1 データ・ディクショナリのサポート

次のトピックでは、Oracle Database Gateway for SQL Serverデータ・ディクショナリのサポートについて説明します。

C.1.1 SQL Serverシステム表

SQL Serverのデータ・ディクショナリ情報は、SQL Serverシステム表としてSQL Serverデータベースに格納されます。

すべてのSQL Serverシステム表の名前には、sysというプレフィクスが付いています。 SQL Serverシステム表は、データベースの構造を定義します。 データ定義を変更すると、SQL ServerはSQL Serverシステム表を読み取って変更し、ユーザー表に関する情報を追加します。

C.1.2 ゲートウェイ・データ・ディクショナリへのアクセス

ゲートウェイ・データ・ディクショナリ表またはビューへのアクセスは、Oracleデータベースのデータ・ディクショナリへのアクセスと同じです。

データベース・リンクを指定するSQL SELECT文を発行します。 Oracleデータベース・データ・ディクショナリ・ビューおよび列の名前は、Oracleデータベース内のゲートウェイ・データ・ディクショナリにアクセスするために使用されます。 サポートされているビューのシノニムも使用できます。 たとえば、次の文は、データ・ディクショナリ表ALL_CATALOGを問い合せて、SQL Serverデータベース内のすべての表名を取得します:

SQL> SELECT * FROM "ALL_CATALOG"@MSQL;

データ・ディクショナリ・アクセス問合せが発行されると、ゲートウェイは次のことを行います:

  1. リクエストされた表、ビューまたはシノニムを、1つ以上のSQL Serverシステム表名にマップします。 ゲートウェイは、すべてのデータ・ディクショナリ列名を、問合せ内の対応するSQL Server列名に変換します。 マッピングに1つのSQL Serverシステム表が含まれる場合、ゲートウェイは、リクエストされた表名を、問合せ内の対応するSQL Serverシステム表名に変換します。 マッピングに複数のSQL Serverシステム表が含まれる場合、ゲートウェイは変換されたSQL Serverシステム表名を使用して問合せに結合を作成します。
  2. 変換された問合せをSQL Serverに送信します。
  3. 取得したSQL Serverデータを変換して、Oracleデータベースのデータ・ディクショナリ表の外観を与える場合があります。
  4. 変換されたSQL Serverシステム表からOracleデータベースにデータ・ディクショナリ情報を渡します。

    ノート:

    ゲートウェイ・データ・ディクショナリの問合せ時に返される値は、Oracle SQL*Plus DESCRIBEコマンドによって返される値とは異なる場合があります。

C.1.3 SQL Server表への直接問合せ

個々のSQL Serverシステム表に直接発行される問合せは可能ですが、SQL Serverシステム表の列名がデータ・ディクショナリ・ビューの列名と異なるため、異なる結果が返されます。

また、SQL Serverシステム表の特定の列は、データ・ディクショナリ処理では使用できません。

C.1.4 サポートされるビューおよび表

Oracle Database Gateway for SQL Serverでは、次のビューおよび表がサポートされます。

ALL_CATALOG

ALL_COL_COMMENTS

ALL_CONS_COLUMNS

ALL_CONSTRAINTS

ALL_IND_COLUMNS

ALL_INDEXES

ALL_OBJECTS

ALL_TAB_COLUMNS

ALL_TAB_COMMENTS

ALL_TABLES

ALL_USERS

ALL_VIEWS

DBA_CATALOG

DBA_COL_COMMENTS

DBA_OBJECTS

DBA_TAB_COLUMNS

DBA_TAB_COMMENTS

DBA_TABLES

DICT_COLUMNS

DICTIONARY

DUAL

TABLE_PRIVILEGES

USER_CATALOG

USER_COL_COMMENTS

USER_CONS_COLUMNS

USER_CONSTRAINTS

USER_IND_COLUMNS

USER_INDEXES

USER_OBJECTS

USER_TAB_COLUMNS

USER_TAB_COMMENTS

USER_TABLES

USER_USERS

USER_VIEWS

他のOracleデータベース・データ・ディクショナリ表またはビューはサポートされていません。 リストにないビューを使用すると、使用可能な行がないOracleデータベース・エラー・コードが表示されます。

ALL_で始まるデータ・ディクショナリ表またはビューのゲートウェイを介した問合せでは、SQL Serverオブジェクトに対するアクセス権限が付与されていない場合でも、SQL Serverデータベースから行を戻すことができます。 Oracleデータ・ディクショナリを使用してOracleデータベースに問合せをした場合は、アクセス権があるオブジェクトについてのみ、行は返されます。