- Este tópico contém 22 respostas, 8 vozes e foi atualizado pela última vez 16 anos, 8 meses atrás por
Ishii.
-
AutorPosts
-
27 de junho de 2009 às 12:24 am #87560
mpvargas
ParticipanteCaros Amigos,
Como faço para importar um arquivo txt para o Oracle?
Esse arquivo pode ter o delimitador | (pipe)?
Obrigado27 de junho de 2009 às 12:53 am #87562Marcos Braga
ParticipanteOi mpvargas,
Uma maneira prática é utilizar o sqlldr (sql loader). Ele é bem flexível e pode ter o limitador | (pipe).
[]s
Braga27 de junho de 2009 às 6:37 pm #87564Regis Araujo
ParticipanteFala Vargas.. bom dia..
Da uma olhada neste Post.. Ele é sobre o SQLLDR… eu expliquei ao Cleber como utilizar o SQLLDR… Com o Sqlldr vc pode fazer oq precisar com a tabela… Truncar.. Droper e Recriar.. etc…
https://www.profissionaloracle.com.br/mo … ght=sqlldr
Espero que lhe ajude..
Abraços..
28 de junho de 2009 às 1:48 pm #87565Thiago Vilhena
ParticipanteBom dia galera…
Essas dicas do Regis de SQL LOADER sao muito iradas.
Tipo tem uma maneira simples puxar uns comandos sql de um txtpega o seu txt transforma ele em .sql
vai la no sqlplus digita @caminhoarquivo ai vai importar as paradas de la
caso nao esteja em .sql nao tem problema e sim em .txt é so fazer @caminhoarquivo.txt
EXEMPLO
criei um arquivo .txt (testeimp.txt) com o seguinte conteudo :
drop table funcionario;
create table funcionario(id number(20),
nome varchar2(255),
email varchar2(255));desc funcionario;
insert into funcionario (id, nome) values (1,’Cleber’);
select id, nome from funcionario;
salvei ele la em C:
ai la no sqlplus voce se connecta e digita :
SQL> @c:testeimp.txt
que ele vai executar o que tem no .txt
Tabela eliminada.Tabela criada.
Nome Nulo? Tipo
—————————————– ——– —————————-ID NUMBER(20)
NOME VARCHAR2(255)
EMAIL VARCHAR2(255)1 linha criada.
ID
———-
NOME
——————————————————————————–1
CleberSQL>
Bom espero ter ajudado um pouco..
abraços =D
29 de junho de 2009 às 4:27 pm #87566David Siqueira
ParticipanteSalve rapaziada…
Thiago , acredito que até por meio de ESTERNAL TABLES seria possivel também, depois por curiosidade pesquise sobre o assunto, talvez lhe interesse….
Abraços!!!!
29 de junho de 2009 às 4:28 pm #87567David Siqueira
ParticipanteOps!!…escrevi errado é EXTERNAL TABLES..
Valeu!!!
29 de junho de 2009 às 5:14 pm #87568Thiago Vilhena
ParticipanteE ae David Blz!? haha tuh tira umas imagens muito iradas heim..
Po essa parada de external eu nao conhecia nao, vo caçar aqui xD
afinal nem Deus sabe tudo, e eu nada sei
bom dia galera!
29 de junho de 2009 às 5:32 pm #87573Marcio68Almeida
Participante[quote=”Thiago_est”:2n1t819l]afinal nem Deus sabe tudo, e eu nada sei
[/quote]Eu bem que ia deixar este comentário passar, mas não tem como…
Acho que nós deveríamos deixar de usar o nome de Deus em vão…
Isto é ofensivo para quem crê em Deus…29 de junho de 2009 às 5:37 pm #87574David Siqueira
ParticipanteThiagão segue ai o material de External tables :
http://www.oracle-base.com/articles/9i/SQLNewFeatures9i.php
http://www.oracle-base.com/articles/9i/ExternalTables9i.phpVocê vai curtir com certeza.
Abração!!!!
29 de junho de 2009 às 5:47 pm #87575mpvargas
ParticipanteAlô galera
Obrigado pela ajuda de todos.
Estou seguindo algumas dicas e pintou uma dúvida.
Eu uso Oracle 10g com Linux CentOS…
Nesse caso eu executo o SQLLoader no prompt do linux?
O procedimento é semelhante ao do Windows?29 de junho de 2009 às 5:50 pm #87577David Siqueira
ParticipanteSim Vargas..é o mesmo principio, use o Terminal e chame o aplicativo Oracle do SQL LOAder.
Abraço
29 de junho de 2009 às 6:08 pm #87578mpvargas
ParticipanteFIZ UM TESTE
Criei um arquivo .txt chamado teste.txt
01|AAAAAAAAAA|0101010101|1111111111;
02|BBBBBBBBBB|0202020202|2222222222;
03|CCCCCCCCCC|0303030303|3333333333;
04|DDDDDDDDDD|0404040404|4444444444;
05|EEEEEEEEEE|0505050505|5555555555;
06|FFFFFFFFFF|0606060606|6666666666;
07|GGGGGGGGGG|0707070707|7777777777;
08|HHHHHHHHHH|0808080808|8888888888;
09|IIIIIIIIII|0909090909|9999999999;Criei o arquivo .ctl chamado teste.ctl
load data
infile ‘/backup/export/teste.txt’
into table TESTE
fields terminated by “|” optionally enclosed by ‘;’
(CAMPO_1, CAMPO_2, CAMPO_3, CAMPO_4)Executei da seguinte forma:
$ sqlldr user/password@instance control=teste.ctl
Aí deu a seguinte mensagem
Commit point reached – logical record count 9
O que eu fiz de errado?
29 de junho de 2009 às 6:32 pm #87580David Siqueira
ParticipanteCheck a tabela que vc carregou os dados, e tente criar os arquivos de log e os BAD assim vc tem maior controle do que tá rolando no processo de carga, tanto das linhas rejeitadas quanto dos passos não executados.
Abraço.
29 de junho de 2009 às 6:35 pm #87581David Siqueira
Participantehttp://www.exforsys.com/tutorials/oracle-10g/oracle-10g-sql-loader-input-data-and-datafiles.html
Dá uma olhadinha nesse link acima que estou te passando brother, talvez além de lhe ajudar tire suas dúvidas quanto ao uso do LOADER em Oracle 10g.
Abração…Boa sorte!!!!
29 de junho de 2009 às 7:24 pm #87582Thiago Vilhena
ParticipanteVlw David, vou dar uma olhada neste material que me mandou!!
adoro buscar conhecimento, e voces sempre chegam junto..
Afirmando oque eu tinha dito acima
nem DEUS sabe tudo, quanto menos eu!
-
AutorPosts
- Você deve fazer login para responder a este tópico.