Caricare i dati o eseguire query sui dati da file in una directory

È possibile utilizzare le procedure DBMS_CLOUD per caricare i dati da file di una directory, incluse le directory create sui file system di rete collegati. È inoltre possibile utilizzare queste procedure per creare tabelle esterne che possono essere utilizzate per eseguire query sui dati.

Le procedure DBMS_CLOUD riportate di seguito supportano il caricamento dei dati nel database da una directory.

  • DBMS_CLOUD.COPY_COLLECTION
  • DBMS_CLOUD.COPY_DATA

Le procedure DBMS_CLOUD riportate di seguito supportano inoltre la creazione di tabelle esterne dai dati nei file di una directory.

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

In base alla procedura, utilizzare il parametro file_uri_list o il parametro partitioning_clause per specificare i file in una o più directory.

Per caricare i dati da una directory, non è necessario includere il parametro credential_name, ma è necessario disporre dei privilegi di oggetto READ sulla directory.

Ad esempio, è possibile caricare i dati in una tabella esistente utilizzando DBMS_CLOUD.COPY_DATA:

  1. Utilizzare una directory esistente, creare una directory o allegare un file system di rete per i file di origine.

    Per informazioni sulla creazione di una directory locale nell'istanza di Autonomous Database, vedere Crea directory in Autonomous Database.

    Per informazioni sul collegamento di un file system di rete contenente i dati da caricare, vedere Collega file system di rete ad Autonomous Database.

  2. Caricare i dati con una procedura DBMS_CLOUD.

    Ad esempio:

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

    Di seguito sono riportati i parametri.

    • table_name: è il nome della tabella di destinazione.

    • file_uri_list: è una specifica di directory e nomi file per i file di origine che si desidera caricare.

      È possibile specificare una directory e uno o più nomi di file oppure usare una lista separata da virgole di directory e nomi di file. Il formato per specificare una directory è:'MY_DIR:filename.ext'. Per impostazione predefinita, il nome directory MY_DIR è un oggetto di database e non fa distinzione tra maiuscole e minuscole. Per il nome del file viene fatta distinzione tra casi.

      Per ulteriori dettagli ed esempio sulla specifica dei file in una directory, vedere Carica dati dalle directory in Autonomous Database. Vengono inoltre mostrate le informazioni relative alla quotazione del nome della directory per la distinzione tra maiuscole e minuscole e per informazioni sull'uso dei caratteri jolly.

    • format: definisce le opzioni che è possibile specificare per descrivere il formato del file di origine, ad esempio se il file è di tipo testo, ORC, Parquet o Avro.

Per ulteriori informazioni, vedere COPY_DATA Procedura.

Per informazioni su come collegare i file system di rete, vedere Collega file system di rete ad Autonomous Database.