Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Otávio 21

Ora-01840

Recommended Posts

Bom dia pessoal,

 

Fiz um SQL Loader para importar arquivos .csv para meu banco de dados Oracle e ele está retornando o seguinte erro:

 

Record 10: Rejected - Error on table TBLA51_FRETE_AEREO, column A51_CREATION_DATE.

ORA-01840: input value not long enough for date format

 

Dentro do meu Load estou passando o seguinte:

A51_CREATION_DATE DATE "YYYY-MM-DD",

 

Alguém sabe como solucionar esse o erro ?

 

Dentro do meu log também está me retornando outro erro, que provavelmente tem a ver com o primeiro:

Record 11: Rejected - Error on table TBLA51_FRETE_AEREO, column A51_CREATION_DATE.

ORA-01843: not a valid month

 

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

No arquivo a data deve estar vindo num formato errado, corrigir o arquivo é uma solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que os arquivos pra importação são baixados de outro sistemas automaticamente, e eu faco o Insert via SQL Loader. São muitos dados por dia, e nao dá pra eu alterar um arquivo de cada vez.

 

No meu banco de dados, o campo A51_CREATION_DATE é do tipo DATE, e o valor que eu passo do arquivo é no formato "AAAA-MM-DD".

 

Tentei fazer a conversao na hora de fazer o Insert (A51_CREATION_DATE DATE "YYYY-MM-DD",) mas nao está funcionando. Dá sempre o erro citado acima..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por isto nao uso o loader, ate onde saiba ele nao permite uma critica dos dados, fazendo uma rotina em plsql é possível criticar o arquivo e tomar uma alguma acao em cima disto, rel. de erro, abortar etc.

Veja na documentacao se o loader permite tratar algum tipo de exceção, eu não conheço mas deve ter.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido Motta.

 

 

No meu caso, o que aconteceu é que eu inseri novas colunas no banco de dados e esqueci de alterar a sequência no Control File.

O erro não passou de uma distração minha !

 

Minha dica pra quem está com o problema é:

- Primeiramente verifiquem se a sequencia do seu arquivo .csv condiz com a sequencia do seu Control File (para não acontecer o que aconteceu comigo rs).

 

- Caso esteja correta, verifiquem o tipo de DATA que o seu BD recebe através do código:

SELECT * 
FROM NLS_SESSION_PARAMETERS 
WHERE PARAMETER = 'NLS_DATE_FORMAT'

 

 

- No seu arquivo Control File, especifiquem o tipo de dado que a coluna receberá:

DATA_DE_ENTREGA DATE "YYYY-MM-DD", 

 

 

Obrigado,

João Otávio

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.