機械翻訳について

ディレクトリ内のファイルからのデータのロードまたはデータの問合せ

DBMS_CLOUDプロシージャを使用すると、アタッチされたネットワーク・ファイル・システム上に作成されたディレクトリを含め、ディレクトリ内のファイルからデータをロードできます。 また、これらのプロシージャを使用して、データの問合せに使用できる外部表を作成することもできます。

次のDBMS_CLOUDプロシージャでは、ディレクトリからデータベースにデータをロードできます:

  • DBMS_CLOUD.COPY_COLLECTION
  • DBMS_CLOUD.COPY_DATA

また、次のDBMS_CLOUDプロシージャでは、ディレクトリ内のファイルのデータから外部表を作成できます。

  • DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE
  • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

プロシージャに応じて、file_uri_listパラメータまたはpartitioning_clauseパラメータを使用して、1つ以上のディレクトリ内のファイルを指定します。

ディレクトリからデータをロードするには、credential_nameパラメータを含める必要はありませんが、ディレクトリに対するREADオブジェクト権限が必要です。

たとえば、DBMS_CLOUD.COPY_DATAを使用して既存の表にデータをロードできます:

  1. 既存のディレクトリの使用、ディレクトリの作成、またはソース・ファイル用のネットワーク・ファイル・システムのアタッチを行います。

    Autonomous Databaseインスタンスでのローカル・ディレクトリの作成の詳細は、「Autonomous Databaseでのディレクトリの作成」を参照してください。

    ロードするデータを含むネットワーク・ファイル・システムをアタッチする方法の詳細は、「Autonomous Databaseへのネットワーク・ファイル・システムのアタッチ」を参照してください。

  2. DBMS_CLOUDプロシージャを使用してデータをロードします。

    たとえば:

    CREATE TABLE CHANNELS
       (channel_id CHAR(1),
        channel_desc VARCHAR2(20),
        channel_class VARCHAR2(20)
       );
    /
    
    BEGIN
     DBMS_CLOUD.COPY_DATA(
        table_name => 'CHANNELS',
        file_uri_list => 'MY_DIR:channels.txt',
        format => json_object('delimiter' value ',')
     );
    END;
    /
    

    パラメータは次のとおりです:

    • table_name: ターゲット表名です。

    • file_uri_list: ロードするソース・ファイルのディレクトリおよびファイル名指定です。

      1つのディレクトリと1つ以上のファイル名を指定することも、ディレクトリとファイル名をカンマで区切ったリストを使用することもできます。 ディレクトリを指定する形式:'MY_DIR:filename.ext' デフォルトでは、ディレクトリ名MY_DIRはデータベース・オブジェクトであり、大/小文字は区別されません。 ファイル名は、大/小文字が区別されます。

      ディレクトリ内のファイルの指定の詳細および例は、「Autonomous Databaseのディレクトリからのデータのロード」を参照してください。 また、ディレクトリ名の大文字と小文字を区別するためにディレクトリ名を引用符で囲むことと、ワイルドカードの使用に関する情報も表示されます。

    • format: ファイルのタイプがtext、ORC、ParquetまたはAvroのいずれであるかなど、ソース・ファイルの形式を記述するために指定できるオプションを定義します。

詳細については、「COPY_DATAプロシージャ」を参照してください。

ネットワーク・ファイル・システムのアタッチの詳細は、「Autonomous Databaseへのネットワーク・ファイル・システムのアタッチ」を参照してください。