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.
Tema principal: Creación y gestión de directorios en Autonomous Database