Criar credenciais e copiar dados JSON para uma tabela existente
Use o DBMS_CLOUD.COPY_DATA
para carregar dados JSON na nuvem em uma tabela.
O arquivo de origem do exemplo é um arquivo de dados JSON.
- Armazene suas credenciais de armazenamento de objetos usando o procedimento
DBMS_CLOUD.CREATE_CREDENTIAL
. Por exemplo:SET DEFINE OFF BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
( credential_name => 'DEF_CRED_NAME', username => 'adb_user@example.com', password => 'password' ); END; /Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial. Observe que essa etapa só é necessária uma vez, a menos que suas credenciais do armazenamento de objetos sejam alteradas. Depois de armazenar as credenciais, você poderá usar o mesmo nome de credencial para todos os carregamentos de dados.
Para obter informações detalhadas sobre os parâmetros, consulte CREATE_CREDENTIAL Procedure.
A criação de uma credencial para acessar o Oracle Cloud Infrastructure Object Store não será necessária se você ativar as credenciais do controlador de recursos. Para obter mais informações, consulte Usar o Controlador de Recursos para Acessar Recursos do Oracle Cloud Infrastructure.
- Carregue dados JSON para uma tabela existente usando o procedimento
DBMS_CLOUD.COPY_DATA
.Por exemplo:
CREATE TABLE WEATHER2 (WEATHER_STATION_ID VARCHAR2(20), WEATHER_STATION_NAME VARCHAR2(50)); / BEGIN
DBMS_CLOUD.COPY_DATA
( table_name => 'WEATHER2', credential_name => 'DEF_CRED_NAME', file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/jsonfiles*', format => JSON_OBJECT('type' value 'json', 'columnpath' value '["$.WEATHER_STATION_ID", "$.WEATHER_STATION_NAME"]') ); END; /Os parâmetros são:
-
table_name
: é o nome da tabela de destino. -
credential_name
: é o nome da credencial criada na etapa anterior. -
file_uri_list
: é uma lista delimitada por vírgulas dos arquivos de origem que você deseja carregar. Você pode usar curingas nos nomes de arquivo em seus URIs. O caractere "*" pode ser usado como curinga para vários caracteres, o caractere "?" pode ser usado como curinga para um único caractere. -
format
: paraDBMS_CLOUD.COPY_DATA
com dados JSON, otype
éjson
. Especifique outros valores de formato para definir as opções que descrevem o formato do arquivo de origem JSON. Consulte DBMS_CLOUD Opções de Formato de Pacote para obter mais informações.
Neste exemplo,
namespace-string
corresponde ao namespace do armazenamento de objetos do Oracle Cloud Infrastructure ebucketname
corresponde ao nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.Para obter informações detalhadas sobre os parâmetros, consulte Procedimento COPY_DATA.
-
Tópico principal: Carregar JSON no Autonomous Database