Daten aus Dateien in einem Verzeichnis laden oder abfragen

Mit DBMS_CLOUD-Prozeduren können Sie Daten aus Dateien in einem Verzeichnis laden, einschließlich Verzeichnissen, die in angehängten Netzwerkdateisystemen erstellt wurden. Sie können diese Verfahren auch verwenden, um externe Tabellen zu erstellen, mit denen Sie Daten abfragen können.

Die folgenden DBMS_CLOUD-Prozeduren unterstützen das Laden von Daten aus einem Verzeichnis in die Datenbank:

  • DBMS_CLOUD.COPY_COLLECTION
  • DBMS_CLOUD.COPY_DATA

Darüber hinaus unterstützen die folgenden DBMS_CLOUD-Prozeduren das Erstellen externer Tabellen aus Daten in Dateien in einem Verzeichnis.

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

Verwenden Sie je nach Prozedur entweder den Parameter file_uri_list oder den Parameter partitioning_clause, um Dateien in einem oder mehreren Verzeichnissen anzugeben.

Um Daten aus einem Verzeichnis zu laden, müssen Sie den Parameter credential_name nicht aufnehmen. Sie benötigen jedoch READ-Objektberechtigungen für das Verzeichnis.

Beispiel: Sie können Daten mit DBMS_CLOUD.COPY_DATA in eine vorhandene Tabelle laden:

  1. Verwenden Sie ein vorhandenes Verzeichnis, erstellen Sie ein Verzeichnis, oder hängen Sie ein Netzwerkdateisystem für die Quelldateien an.

    Informationen zum Erstellen eines lokalen Verzeichnisses in Ihrer Autonomous Database-Instanz finden Sie unter Verzeichnis in Autonomous Database erstellen.

    Informationen zum Anhängen eines Netzwerkdateisystems mit den zu ladenden Daten finden Sie unter Netzwerkdateisystem an Autonomous Database anhängen.

  2. Laden Sie Daten mit einer Prozedur DBMS_CLOUD.

    Beispiel:

    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;
    /
    

    Die Parameter sind:

    • table_name: Der Name der Zieltabelle.

    • file_uri_list: ist eine Verzeichnis- und Dateinamenspezifikation für die Quelldateien, die Sie laden möchten.

      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.

      Weitere Details und Beispiele zum Angeben von Dateien in einem Verzeichnis finden Sie unter Daten aus Verzeichnissen in Autonomous Database laden. Außerdem werden Informationen zum Angeben des Verzeichnisnamens angezeigt, damit die Groß-/Kleinschreibung des Verzeichnisnamens beachtet wird. Außerdem werden Informationen zur Verwendung von Platzhaltern angezeigt.

    • format: Definiert die Optionen, die Sie zur Beschreibung des Formats der Quelldatei angeben können, einschließlich der Angabe, ob die Datei den Typ Text, ORC, Parquet oder Avro aufweist.

Weitere Informationen finden Sie unter Prozedur COPY_DATA.

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