Caricare i dati dalle directory in Autonomous Database

In alternativa a un URI di posizione dell'area di memorizzazione degli oggetti, è possibile specificare una directory con procedure DBMS_CLOUD per caricare o scaricare dati da file in una directory locale, incluse le directory create nei file system di rete collegati.

Le procedure riportate di seguito supportano la specifica di file in una directory con il parametro file_uri_list.

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

Le procedure riportate di seguito supportano la specifica di file in una directory con il parametro partitioning_clause.

  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE
  • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

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

Quando si utilizza il parametro file_uri_list per specificare una directory, non è necessario includere il parametro credential_name, ma è necessario disporre dei privilegi di oggetto READ sulla directory.

Ad esempio, con una chiamata a DBMS_CLOUD.COPY_DATA, utilizzare il parametro file_uri_list per specificare i file in una directory:

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

In questo esempio i dati vengono copiati dalla directory test.csv nella directory locale HR_DIR nella tabella HRDATA1.

Le espressioni regolari non sono supportate quando si specificano i nomi file in una directory. È possibile utilizzare solo caratteri jolly per specificare i nomi dei file in una directory. Il carattere "*" può essere utilizzato come carattere jolly per più caratteri e il carattere "?" può essere utilizzato come carattere jolly per un singolo carattere. Ad esempio:'MY_DIR:*" o 'MY_DIR:test?'

Per specificare più directory, utilizzare una lista separata da virgole di directory, ad esempio:'MY_DIR1:*, MY_DIR2:test?'

Utilizzare le virgolette doppie per specificare un nome di directory con distinzione tra maiuscole e minuscole. Ad esempio:'"my_dir1":*, "my_dir2":Test?'

Per includere una virgoletta, utilizzare due virgolette. Ad esempio:'MY_DIR:''filename.ext'. Specifica che filename inizia con una virgoletta (').

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

Note per l'utilizzo di directory con procedure DBMS_CLOUD

Tenere presente quanto riportato di seguito quando si utilizzano le procedure DBMS_CLOUD e si specifica una directory con il parametro file_uri_list.

  • Le opzioni di compressione per file come GZIP non sono supportate per i file di directory. Per ulteriori informazioni, vedere l'opzione di formato compression in DBMS_CLOUD Package Format Options.

  • I caratteri speciali quali i due punti (:), le virgolette singole (') e la virgola (,) non sono supportati nel nome della directory.