Creación de credenciales y copia de datos en una tabla existente
Para la carga de datos desde archivos en la nube, primero debe almacenar sus credenciales de almacenamiento de objetos en Autonomous Database y, a continuación, utilizar el procedimiento DBMS_CLOUD.COPY_DATA
para cargar datos.
El archivo de origen de este ejemplo, channels.txt
, tiene los siguientes datos:
S,Direct Sales,Direct T,Tele Sales,Direct C,Catalog,Indirect I,Internet,Indirect P,Partners,Others
- Store las credenciales del almacén de objetos mediante el procedimiento
DBMS_CLOUD.CREATE_CREDENTIAL
. Por ejemplo:SET DEFINE OFF BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
( credential_name => 'DEF_CRED_NAME', username => 'adb_user@example.com', password => 'password' ); END; /Esta operación almacena las credenciales en la base de datos en un formato cifrado. Puede utilizar cualquier nombre para el nombre de credencial. Tenga en cuenta que este paso solo es necesario una vez, a menos que cambien las credenciales del almacén de objetos. Una vez almacenadas las credenciales, puede utilizar el mismo nombre de credencial para todas las cargas de datos.
Para obtener información detallada sobre los parámetros, consulte Procedimiento CREATE_CREDENTIAL.
La creación de una credencial para acceder al almacén de objetos de Oracle Cloud Infrastructure no es necesaria si activa las credenciales de la entidad de recurso. Consulte Uso de la principal de recurso para acceder a los recursos de Oracle Cloud Infrastructure para obtener más información.
Nota
Algunas herramientas como SQL*Plus y SQL Developer utilizan el carácter de ampersand (&
) como carácter especial. Si tiene el carácter de ampersand en la contraseña, utilice el comandoSET DEFINE OFF
en esas herramientas, como se muestra en el ejemplo, para desactivar el carácter especial y obtener la credencial creada correctamente. - Cargue datos en una tabla existente mediante el procedimiento
DBMS_CLOUD.COPY_DATA
. Por ejemplo:CREATE TABLE CHANNELS (channel_id CHAR(1), channel_desc VARCHAR2(20), channel_class VARCHAR2(20) ); / BEGIN
DBMS_CLOUD.COPY_DATA
( table_name =>'CHANNELS', credential_name =>'DEF_CRED_NAME', file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/channels.txt', format => json_object('delimiter' value ',') ); END; /Los parámetros son:
-
table_name
: es el nombre de la tabla de destino. -
credential_name
: es el nombre de la credencial creada en el paso anterior. El parámetrocredential_name
debe cumplir las convenciones de nomenclatura de objetos de Oracle, que no permiten espacios ni guiones. -
file_uri_list
: es una lista delimitada por comas de los archivos de origen que desea cargar. -
format
: define las opciones que puede especificar para describir el formato del archivo de origen, incluido si el archivo es de tipo texto, ORC, Parquet o Avro.Si los datos de los archivos de origen están cifrados, descifre los datos especificando el parámetro
format
con la opciónencryption
. Consulte Descifrado de datos durante la importación desde Object Storage para obtener más información sobre el descifrado de datos.
En este ejemplo,
namespace-string
es el espacio de nombres de almacenamiento de objetos de Oracle Cloud Infrastructure, ybucketname
es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.Nota
Autonomous Database soporta una serie de formatos de archivo de origen, incluidos los formatos de datos comprimidos. Consulte DBMS_CLOUD Package Format Options y la opción de formatoDBMS_CLOUD
compression
para ver los tipos de compresión soportados.Para obtener información detallada sobre los parámetros, consulte Procedimiento COPY_DATA y COPY_DATA Procedimiento para archivos Avro, ORC o Parquet.
-
Tema principal: Carga de datos de archivos en la nube