Carica dati dalle directory in Autonomous Database

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

Le seguenti procedure supportano la specifica dei file in una directory con il parametro file_uri_list:

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

Le seguenti procedure supportano la specifica dei 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 utilizzare un elenco separato da virgole di directory e nomi di file. Il formato per specificare una directory è:'MY_DIR:filename.ext'. Per impostazione predefinita, il nome della directory MY_DIR è un oggetto di database e non fa distinzione tra maiuscole e minuscole. Nel nome del file viene fatta distinzione tra maiuscole e minuscole.

Quando si utilizza il parametro file_uri_list per specificare una directory, non è necessario includere il parametro credential_name, ma è necessario disporre dei privilegi dell'oggetto READ nella 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;
/

Questo esempio copia i dati da test.csv nella directory locale HR_DIR nella tabella HRDATA1.

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

Per specificare più directory, utilizzare un elenco separato da virgole: ad esempio:'MY_DIR1:*, MY_DIR2:test?'

Usare 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 un' virgoletta (').

Per informazioni sul collegamento dei file system di rete, vedere Allegare il file system di rete ad Autonomous Database.

Note per l'utilizzo delle directory con le procedure DBMS_CLOUD

Si noti quanto segue 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 del formato compression in DBMS_CLOUD Package Format Options.

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