Falha conversão java.util.Date para java.sql.Date

5 respostas
L

Quando executo um camando no banco Oracle utilizando os passos abaixo apresenta o erro:

ORA-01861: literal does not match format stringAlguém sabe me dizer o ocorre?

PreparedStatement pstm = newConnection.prepareStatement(command,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); SimpleDateFormat formatDateIn = new SimpleDateFormat('yyyy-MM-dd'); java.util.Date data = formatDateIn.parse('2010-01-14'); pstm.setDate(1, new java.sql.Date(data.getTime()));

5 Respostas

zoren

o campo no banco é DATE?

ramilani12

Mostre o SQL que vc esta tentando executar.
Geralmente este erro é ocasionado qndo vc tentar fazer uma conversão de uma data em string para date(Oracle), mas a mascara que vc definiu não bate com a data em string:

ex:

SELECT to_date('20061025','fxyyyy/mm/dd') * ERROR at line 1: ORA-01861: literal does not match format string

L

Sim, o campo é Date

L

ramilani12:
Mostre o SQL que vc esta tentando executar.
Geralmente este erro é ocasionado qndo vc tentar fazer uma conversão de uma data em string para date(Oracle), mas a mascara que vc definiu não bate com a data em string:

ex:

SELECT to_date('20061025','fxyyyy/mm/dd') * ERROR at line 1: ORA-01861: literal does not match format string

Segue abaixo o comando que estou executando. Eu havia entendido que a formatação do campo data para o Oracle é feita pelo método setDate. Está correto?

select ID_PP_DETAIL, COD_PP_DETAIL, ID_PERIOD_PLAN, DAT_PERIOD_START, DAT_PERIOD_END, STA_EXCLUDED, DAT_LAST_MODIFY, USR_LAST_MODIFY from jtm_period_plan_detail where ID_PERIOD_PLAN = ? and DAT_PERIOD_START >= ? and DAT_PERIOD_END <= ? and STA_EXCLUDED = ? order by DAT_PERIOD_END

L

Segue novamente o sql. O anterior estava com outros parâmetros.

select ID_PP_DETAIL, COD_PP_DETAIL, ID_PERIOD_PLAN, DAT_PERIOD_START, DAT_PERIOD_END, STA_EXCLUDED, DAT_LAST_MODIFY, USR_LAST_MODIFY from jtm_period_plan_detail where DAT_PERIOD_START >= ? order by DAT_PERIOD_END

Criado 14 de janeiro de 2010
Ultima resposta 14 de jan. de 2010
Respostas 5
Participantes 3