Daten aus Verzeichnissen in Autonomous Database laden

Alternativ zu einer Objektspeicherort-URI können Sie ein Verzeichnis mit DBMS_CLOUD-Prozeduren angeben, um Daten aus Dateien in einem lokalen Verzeichnis zu laden oder zu entladen, einschließlich Verzeichnissen, die in angehängten Netzwerkdateisystemen erstellt wurden.

Die folgenden Verfahren unterstützen die Angabe von Dateien in einem Verzeichnis mit dem Parameter file_uri_list:

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

Die folgenden Verfahren unterstützen die Angabe von Dateien in einem Verzeichnis mit dem Parameter partitioning_clause:

  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE
  • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

Sie können ein Verzeichnis und einen oder mehrere Dateinamen angeben oder eine durch Komma getrennte Liste von Verzeichnissen und Dateinamen verwenden. Das Format für die Angabe eines Verzeichnisses lautet:'MY_DIR:filename.ext'. Standardmäßig ist der Verzeichnisname MY_DIR ein Datenbankobjekt, bei dem die Groß-/Kleinschreibung nicht beachtet wird. Beim Dateinamen muss die Groß-/Kleinschreibung beachtet werden.

Wenn Sie den Parameter file_uri_list verwenden, um ein Verzeichnis anzugeben, das Sie nicht den Parameter credential_name aufnehmen müssen, sondern READ-Objektberechtigungen für das Verzeichnis benötigen.

Beispiel: Verwenden Sie bei einem Aufruf von DBMS_CLOUD.COPY_DATA den Parameter file_uri_list, um Dateien in einem Verzeichnis anzugeben:

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

In diesem Beispiel werden die Daten aus test.csv im lokalen Verzeichnis HR_DIR in die Tabelle HRDATA1 kopiert.

Reguläre Ausdrücke werden nicht unterstützt, wenn die Dateinamen in einem Verzeichnis angegeben werden. Sie können nur Platzhalter verwenden, um Dateinamen in einem Verzeichnis anzugeben. Das Zeichen "*" kann als Platzhalter für mehrere Zeichen verwendet werden. Das Zeichen "?" kann als Platzhalter für ein einzelnes Zeichen verwendet werden. Beispiel:'MY_DIR:*" oder 'MY_DIR:test?'

Um mehrere Verzeichnisse anzugeben, verwenden Sie eine kommagetrennte Verzeichnisliste: Beispiel:'MY_DIR1:*, MY_DIR2:test?'

Verwenden Sie doppelte Anführungszeichen, um einen Verzeichnisnamen anzugeben, bei dem die Groß-/Kleinschreibung beachtet wird. Beispiel:'"my_dir1":*, "my_dir2":Test?'

Um ein Anführungszeichen einzuschließen, verwenden Sie zwei Anführungszeichen. Beispiel: 'MY_DIR:''filename.ext'. Gibt an, dass filename mit einem Anführungszeichen (') beginnt.

Informationen zum Anhängen von Netzwerkdateisystemen finden Sie unter Netzwerkdateisystem an Autonomous Database anhängen.

Hinweise zur Verwendung von Verzeichnissen mit DBMS_CLOUD-Prozeduren

Beachten Sie Folgendes, wenn Sie DBMS_CLOUD-Prozeduren verwenden und ein Verzeichnis mit dem Parameter file_uri_list angeben:

  • Komprimierungsoptionen für Dateien wie GZIP werden für Verzeichnisdateien nicht unterstützt. Weitere Informationen finden Sie in der Formatoption compression unter DBMS_CLOUD Packageformatoptionen.

  • Sonderzeichen wie Doppelpunkt (:), einfache Anführungszeichen (') und Komma (,) werden im Verzeichnisnamen nicht unterstützt.