Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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..
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.
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 é:
SELECT *
FROM NLS_SESSION_PARAMETERS
WHERE PARAMETER = 'NLS_DATE_FORMAT'
DATA_DE_ENTREGA DATE "YYYY-MM-DD",
Obrigado,
João Otávio
No arquivo a data deve estar vindo num formato errado, corrigir o arquivo é uma solução.