Daten aus Verzeichnissen in Autonomous Database laden

Alternativ zum Speicherort-URI eines Objektspeichers können Sie ein Verzeichnis mit DBMS_CLOUD-Prozeduren zum Laden oder Entladen von Daten aus Dateien in einem lokalen Verzeichnis angeben, 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 kommagetrennte Liste von Verzeichnissen und Dateinamen verwenden. Das Format zur 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. Beachten Sie beim Dateinamen die Groß-/Kleinschreibung.

Wenn Sie mit dem Parameter file_uri_list ein Verzeichnis angeben, müssen Sie den Parameter credential_name nicht aufnehmen. Sie benötigen jedoch READ-Objektberechtigungen für das Verzeichnis.

Beispiel: Mit einem Aufruf von DBMS_CLOUD.COPY_DATA geben Sie mit dem Parameter file_uri_list Dateien in einem Verzeichnis an:

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 bei der Angabe der Dateinamen in einem Verzeichnis nicht unterstützt. Sie können nur Platzhalter verwenden, um Dateinamen in einem Verzeichnis anzugeben. Das Zeichen "*" kann als Platzhalter für mehrere Zeichen und das Zeichen "?" als Platzhalter für ein Einzelzeichen verwendet werden. Beispiel: 'MY_DIR:*" oder 'MY_DIR:test?'

Um mehrere Verzeichnisse anzugeben, verwenden Sie eine durch Komma getrennte Liste von Verzeichnissen. 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 Package Format Options.

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