Carga de datos desde directorios en Autonomous Database

Como alternativa a un URI de ubicación de almacén de objetos, puede especificar un directorio con procedimientos DBMS_CLOUD para cargar o descargar datos de archivos en un directorio local, incluidos los directorios creados en sistemas de archivos de red conectados.

Los siguientes procedimientos admiten la especificación de archivos en un directorio con el parámetro file_uri_list:

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

Los siguientes procedimientos admiten la especificación de archivos en un directorio con el parámetro partitioning_clause:

  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE
  • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

Puede especificar un directorio y uno o más nombres de archivo o utilizar una lista separada por comas de directorios y nombres de archivo. El formato para especificar un directorio es:'MY_DIR:filename.ext'. Por defecto, el nombre de directorio MY_DIR es un objeto de base de datos y no es sensible a mayúsculas/minúsculas. El nombre del archivo distingue mayúsculas.

Al utilizar el parámetro file_uri_list para especificar un directorio, no necesita incluir el parámetro credential_name, pero necesita privilegios de objeto READ en el directorio.

Por ejemplo, con una llamada a DBMS_CLOUD.COPY_DATA, utilice el parámetro file_uri_list para especificar archivos en un directorio:

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

En este ejemplo, se copian los datos de test.csv en el directorio local HR_DIR en la tabla HRDATA1.

Las expresiones regulares no están soportadas al especificar los nombres de archivo en un directorio. Solo puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede utilizar el carácter "*" como comodín para varios caracteres y el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo:'MY_DIR:*" o 'MY_DIR:test?'

Para especificar varios directorios, utilice una lista de directorios separada por comas: por ejemplo:'MY_DIR1:*, MY_DIR2:test?'

Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo:'"my_dir1":*, "my_dir2":Test?'

Para incluir un carácter de comilla, utilice dos comillas. Por ejemplo:'MY_DIR:''filename.ext'. Especifica que filename empieza por una comilla (').

Consulte Asociación de sistema de archivos de red a Autonomous Database para obtener información sobre la asociación de sistemas de archivos de red.

Notas para el uso de directorios con procedimientos DBMS_CLOUD

Tenga en cuenta lo siguiente al utilizar procedimientos DBMS_CLOUD y especificar un directorio con el parámetro file_uri_list:

  • Las opciones de compresión para archivos como GZIP no están soportadas para archivos de directorio. Para obtener más información, consulte la opción de formato compression en DBMS_CLOUD Package Format Options.

  • Los caracteres especiales como dos puntos (:), comillas simples (') y comas (,) no están soportados en el nombre del directorio.