SQL*Loader por João Otávio 21
O Membro João Otávio 21 me pediu para postar este tutorial.
-------------------------------------------------------------------------------------------------------------------------
**SQL*Loader**
Deparei-me esses dias com a necessidade de importar arquivos de extensão .csv para meu banco de dados Oracle, e com um conselho do Motta cheguei a aplicação SQL*Loader do próprio Oracle. É bem simples de se fazer, vamos la !
Primeiramente eu criei uma pasta só pro SQL*Loader, pra ficar bem organizado e coloquei dentro da pasta o arquivo .CSV que eu queria importar. Depois eu criei uns arquivos lá dentro para os LOG’s:
- LoadResults.log
- LoadResults_BAD.log
- LoadResults_DISCARDED.log
- sqlnet.log
SUPONHAMOS que o seu arquivo .CSV está no seguinte formato:
CODIGO,"ESTADO","CIDADE","NOME"
1,"MG","Belo Horizonte","TESTE_BH"
2,"SP","São Paulo","TESTE_SP"
3,"RJ","Rio de Janeiro","TESTE_RJ"
O próximo passo é criar um arquivo chamado ControlFile.ctl para o controle do Load dentro da pasta que agente criou lá no inicio.
OPTIONS ( skip=1 , rows=10000, errors=10 )
LOAD DATA
INFILE 'SEU_ARQUIVO.csv'
BADFILE 'LoadResults_BAD.log'
DISCARDFILE 'LoadResults_DISCARDED.log'
APPEND
INTO TABLE SUA_TABELA_DO_BD
Fields Terminated by ","
Optionally Enclosed by '"'
Trailing Nullcols
(
CODIGO,
ESTADO,
CIDADE,
NOME
)
Até ai beleza ! Para finalizar, vamos criar um arquivo para rodar o nosso load. Criem dentro da pasta um arquivo chamado GoLoad.bat com o seguinte código:
@echo off
echo.
sqlldr 'SEU_USUARIO/SUA_SENHA@SEU_HOST_NAME' control='ControlFile.ctl' log='LoadResults.log'
pause
Pronto ! Agora é só clicar no arquivo .bat e fazer a importação do arquivo !
Só pra ficar mais claro, sua pasta tem que ter os arquivos:
- SEU_ARQUIVO.csv
- ControlFile.ctl
- LoadResults.log
- LoadResults_BAD.log
- LoadResults_DISCARDED.log
- sqlnet.log
Espero que tenha ficado claro.
Muito obrigado a todos do fórum, em especial ao Motta que está sempre ajudando a galera !
João Otávio
Discussão (1)
Carregando comentários...