quarta-feira, 12 de junho de 2013

[ORACLE] SQL Loader


1. Crie a tabela no banco de dados.
ATENÇÃO: Preste atenção nos tamanhos e tipos dos campos para evitar erros na importação.

2. Crie o arquivo de controle conforme exemplo:
$ vi loader.ctl

load data
 infile '/home/oracle/arquivo.csv'
into table USUARIO.REMESSAS
 fields terminated by "|" optionally enclosed by '"'
 ( TIPO, DDD, TELEFONE, CONTRATO, DATA_SERVICO, REMESSA, VALOR, COD_SERVICO, CREDITO, RETORNO, SEQUENCIA, MOTIVO, DT_SITUACAO, DT_VENCIMENTO, REF_FATURA, SFA, DT_REF, NSA )

IMPORTANTE:
Caso você for inserir dados numa tabela que não esteja vazia, usar a opção 'append', na linha abaixo de  'infile'.

3. Use comando abaixo para chamar o SQL Loader:
sqlldr user/password@SID control=loader.ctl

NOTA1: Usando a opção ROWS=X é possível dar commit a cada 'X' linhas. Diminuindo a quantidade de commits, a importação fica mais rápida.
NOTA2: Usando a opção DIRECT=TRUE os dados são carregados direto para os datafiles, o que também deixa a importação mais rápida.

4. As linhas que não forem importadas serão logadas em um arquivo com extensão .bad, também será gerado um log da importação com a extensão .log.

Nenhum comentário:

Postar um comentário