Já fiz isso de abrir o arquivo no excel.. e todos os campos estao no lugar 
correto...
Fiz até um teste com apenas a linha que mandei no email. E mesmo com apenas uma 
linha no txt está
dando o erro.
Uma coisa estranha que fiz para testar foi colocar "null" no campo e aí nao deu 
o erro. Ficando assim ";;;null;;S"
Mas isso é estranho pois no campo DATA_COMPENSACAO nao preciso colocar "null" e 
passa normal.

[]'s Adriano

  ----- Original Message ----- 
  From: Roberto Amorim 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, March 21, 2007 10:48 AM
  Subject: Re: [oracle_br] Erro em SQLLDR campo Date


  Acho que o erro não acontece onde você acredita. Acho que o erro ocorre 
  antes, mas estoura em outro canto.
  Passa o arquivo inteiro, se couber em até 60mil linhas, para o excel e 
  verifica se a integridade das colunas vai até o fim. pode ter alguma 
  linha perdida.
  Veja, você tem dois campos USU_INTEGRA e USU_NAO_INTEGRA que são 
  strings. Então você deve estar validando se eles têm ponto-e-vírgulas no 
  seu interior, ou não?
  Se tiver estraga a coisa.
  O melhor nesses casos é tentar visualizar o arquivo. No excel é mais 
  fácil. Outra opção é passar os ";" para tags <xml> e depois usar um 
  editor adequado a isso.
  Aposto na falha da estrutura da tabela, e não em bytes doidos no meio dele.
  Um abraço
  Roberto

  Adriano de Oliveira escreveu:
  > pior que não tem caracter nenhum.. está nulo.
  >
  > Adriano
  >
  > ----- Original Message ----- 
  > From: Rafael Milanez - BusinessOn 
  > To: oracle_br@yahoogrupos.com.br 
  > Sent: Wednesday, March 21, 2007 8:21 AM
  > Subject: Re: [oracle_br] Erro em SQLLDR campo Date
  >
  >
  > pode ser algum caracter no campo VENCIMENTO_IRRF que nao esta no formato 
adequando ( eu suponho isso)
  >
  > ----- Original Message ----- 
  > From: Adriano de Oliveira 
  > To: oracle_br@yahoogrupos.com.br 
  > Sent: Tuesday, March 20, 2007 2:01 PM
  > Subject: [oracle_br] Erro em SQLLDR campo Date
  >
  > Olá pessoal.
  >
  > Estou tendo um problema estranho aqui.
  > Estou tentando carregar um arquivo txt para uma tabela atraves do sqlldr do 
Oracle 9i.
  > Sempre utilizei o sqlldr e nunca tive problema. Mas nesta tabela está dando 
esse erro:
  >
  > Record 1: Rejected - Error on table VCP_PARCELA, column VENCIMENTO_IRRF.
  > ORA-01858: a non-numeric character was found where a numeric was expected
  >
  > o campo VENCIMENTO_IRRF é do tipo date..
  >
  > e aqui está uma linha do arquivo txt:
  >
  > 151295;11561SB2;1;15111993; 19.30;0;31071995; 19.30; 0.00; 0.00; 0.00; 
0.00;;;0;;;;;;;;;;;;;S
  >
  > o campo é o 26º. podem ver q ele está vazio. nao tem nada entre os 
ponto-e-virgulas.
  >
  > aqui está meu control-file:
  >
  > LOAD DATA
  > INFILE 'vcp_parcela.txt'
  > BADFILE 'bad_vcp_parcela.txt'
  > APPEND
  > INTO TABLE VCP_PARCELA
  > FIELDS TERMINATED BY ';'
  > TRAILING NULLCOLS (
  > COD_FORNECEDOR INTEGER EXTERNAL,
  > NDOC CHAR(20),
  > PARCELA INTEGER EXTERNAL,
  > DATA_VENCIMENTO DATE "DD/MM/YYYY" NULLIF DATA_VENCIMENTO=BLANKS,
  > VALOR_PARCELA FLOAT EXTERNAL NULLIF VALOR_PARCELA=BLANKS,
  > CODB INTEGER EXTERNAL NULLIF CODB=BLANKS,
  > DATA_PAGAMENTO DATE "DD/MM/YYYY" NULLIF DATA_PAGAMENTO=BLANKS,
  > VALOR_PAGO FLOAT EXTERNAL NULLIF VALOR_PAGO=BLANKS,
  > VALOR_JURO FLOAT EXTERNAL NULLIF VALOR_JURO=BLANKS,
  > VALOR_DESCONTO FLOAT EXTERNAL NULLIF VALOR_DESCONTO=BLANKS,
  > VALOR_URV FLOAT EXTERNAL NULLIF VALOR_URV=BLANKS,
  > CORRECAO FLOAT EXTERNAL NULLIF CORRECAO=BLANKS,
  > TRADUTOR INTEGER EXTERNAL NULLIF TRADUTOR=BLANKS,
  > TIPO_DOCUMENTO CHAR(1) NULLIF TIPO_DOCUMENTO=BLANKS,
  > VALOR_DEVOLUCAO FLOAT EXTERNAL NULLIF VALOR_DEVOLUCAO=BLANKS,
  > DATA_COMPENSACAO DATE "DD/MM/YYYY" NULLIF DATA_COMPENSACAO=BLANKS,
  > NCHEQUE CHAR(15) NULLIF NCHEQUE=BLANKS,
  > COD_BCO1 INTEGER EXTERNAL NULLIF COD_BCO1=BLANKS,
  > PROCESSOU CHAR(4) NULLIF PROCESSOU=BLANKS,
  > LOTE INTEGER EXTERNAL NULLIF LOTE=BLANKS,
  > SEQ_LOTE INTEGER EXTERNAL NULLIF SEQ_LOTE=BLANKS,
  > INTEGRAR CHAR(1) NULLIF INTEGRAR=BLANKS,
  > USU_INTEGRA CHAR(30) NULLIF USU_INTEGRA=BLANKS,
  > USU_NAO_INTEGRA CHAR(30) NULLIF USU_NAO_INTEGRA=BLANKS,
  > TRADUTOR_IRRF INTEGER EXTERNAL NULLIF TRADUTOR_IRRF=BLANKS,
  > VALOR_IRRF FLOAT EXTERNAL NULLIF VALOR_IRRF=BLANKS,
  > COD_TIPDOC INTEGER EXTERNAL NULLIF COD_TIPDOC=BLANKS,
  > VENCIMENTO_IRRF DATE "DD/MM/YYYY" NULLIF VENCIMENTO_IRRF=BLANKS,
  > COD_FLUXO INTEGER EXTERNAL NULLIF COD_FLUXO=BLANKS,
  > LANCA_FLUXO CHAR(1) NULLIF LANCA_FLUXO=BLANKS)
  >
  > o campo VENCIMENTO_IRRF está com a clausula NULLIF mas mesmo assim está 
dando o erro em todas as linha do txt.
  > Reparem que no meio do Control File tem um campo chamado DATA_COMPENSACAO 
que possui o mesmo formato e no arquivo txt tbm está nulo e neste campo não dá 
problema.
  >
  > Alguém tem uma idéia do que pode ser?
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  >
  >
  > 
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  >
  >
  > 
  >> Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » 
Procedure » Scripts » Tutoriais acesse: 
http://www.oraclebr.com.br/codigo/ListaCodigo.php 
  >> 
  > ----------------------------------------------------------
  > 
  >> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de 
inteira responsabilidade de seus remetentes.
  >> 
  > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
  > ----------------------------------------------------------
  > 
  >> O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr.com.br/ 
  >> 
  > ---------------------------------------------------------- 
  > Links do Yahoo! Grupos
  >
  > 
  >
  >
  > 



   

[As partes desta mensagem que não continham texto foram removidas]

Responder a