機械翻訳について

Autonomous Databaseのディレクトリからのデータのロード

オブジェクト・ストアのロケーションURIのかわりに、DBMS_CLOUDプロシージャを使用してディレクトリを指定して、ローカル・ディレクトリ内のファイルからデータをロードまたはアンロードできます(アタッチされたネットワーク・ファイル・システムに作成されたディレクトリを含む)。

次の手順は、file_uri_listパラメータを使用してディレクトリ内のファイルを指定することをサポートしています:

  • DBMS_CLOUD.COPY_COLLECTION
  • DBMS_CLOUD.COPY_DATA
  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE

次の手順は、partitioning_clauseパラメータを使用してディレクトリ内のファイルを指定することをサポートしています:

  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE
  • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

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

file_uri_listパラメータを使用してディレクトリを指定する場合、credential_nameパラメータを含める必要はありませんが、ディレクトリに対するREADオブジェクト権限が必要です。

たとえば、DBMS_CLOUD.COPY_DATAをコールする場合、file_uri_listパラメータを使用してディレクトリ内のファイルを指定します:

BEGIN
  DBMS_CLOUD.COPY_DATA(
     table_name => 'HRDATA1',
     file_uri_list => 'HR_DIR:test.csv',
     format => JSON_OBJECT('type' value 'csv')  );
END;
/

この例では、ローカル・ディレクトリHR_DIRtest.csvから表HRDATA1にデータをコピーします。

ディレクトリでファイル名を指定する場合、正規表現はサポートされていません。 ワイルドカードは、ディレクトリ内のファイル名を指定する場合にのみ使用できます。 文字「*」は複数の文字のワイルドカードとして使用でき、文字「?」は単一の文字のワイルドカードとして使用できます。 たとえば:'MY_DIR:*"または'MY_DIR:test?'

複数のディレクトリを指定するには、ディレクトリのカンマ区切りリストを使用 : たとえば : 'MY_DIR1:*, MY_DIR2:test?'

大/小文字を区別するディレクトリ名を指定するには、二重引用符を使用します。 たとえば:'"my_dir1":*, "my_dir2":Test?'

引用符を含めるには、2つの引用符を使用します。 たとえば:'MY_DIR:''filename.ext' これは、引用符(')で始まるfilenameを指定します。

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

DBMS_CLOUDプロシージャでのディレクトリの使用に関するノート

DBMS_CLOUDプロシージャを使用し、file_uri_listパラメータでディレクトリを指定する場合は、次の点に注意してください:

  • GZIPなどのファイルの圧縮オプションは、ディレクトリ・ファイルではサポートされていません。 詳細は、「DBMS_CLOUDパッケージ・フォーマット・オプション」compression書式オプションを参照してください。

  • コロン(:)、一重引用符(')、comma(,)などの特殊文字は、ディレクトリ名ではサポートされていません。