Daten aus Dateien in ein Verzeichnis laden oder abfragen

Sie können DBMS_CLOUD-Prozeduren verwenden, um Daten aus Dateien in einem Verzeichnis zu laden, einschließlich Verzeichnissen, die in angehängten Netzwerkdateisystemen erstellt wurden. Mit diesen Prozeduren können Sie auch externe Tabellen 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 einschließen. 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 der 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 DBMS_CLOUD-Prozedur.

    Beispiele:

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

    Parameter:

    • 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 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.

      Weitere Details und ein Beispiel für die Angabe 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, sowie Informationen zur Verwendung von Platzhaltern.

    • format: Definiert die Optionen, die Sie angeben können, um das Format der Quelldatei zu beschreiben, einschließlich der Angabe, ob die Datei den Typ Text, ORC, Parquet oder Avro aufweist.

Weitere Informationen finden Sie unter COPY_DATA-Prozedur.

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