Erro JDBC Timestamp [RESOLVIDO]

3 respostas
Metaleiro

[color=darkblue]Esse erro ocorre no momento exato que pego os valores da base, no Resultset, rs.getTimestamp(5), tentei fazer comparações e tudo mais, mas os valores já estão setados dessa forma na base exatamente assim ‘0000-00-00 00:00:00’, já tentei alterar o rs.getObject(5), mas mesmo assim o erro é gerado, se alguém puder me ajudar, desde já agradeço ! [/color]

java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP.
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
	at com.mysql.jdbc.ResultSetImpl.getTimestampFromString(ResultSetImpl.java:6343)
	at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5670)
	at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5491)
	at br.com.transaction.dao.RelatorioOSDAO.getAllRelOS(RelatorioOSDAO.java:57)
	at br.com.transaction.input.InputDataRelOS.execute(InputDataRelOS.java:43)
	at br.com.transaction.function.ExcuteParametros.main(ExcuteParametros.java:43)
Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
	at com.mysql.jdbc.ResultSetImpl.getTimestampFromString(ResultSetImpl.java:6094)
	... 5 more

3 Respostas

T

Qual é o tipo de dados dessa coluna no seu banco? Se for VARCHAR ou VARCHAR2 ou CHAR ou NCHAR ou NVARCHAR ou NVARCHAR2, você terá de obter o valor como uma string mesmo, e efetuar a conversão para java.sql.TimeStamp manualmente no seu código.

Metaleiro

[color=darkblue]A coluna é do tipo datetime, assim está configurado na tabela na base, já tentei passar um date, o fato é que fnciona em quase todos os caso exceto quando está na base nesse formato ‘0000-00-00 00:00:00’, esse está setado como valor default, obrigado [/color]

Metaleiro

[color=darkblue] Resolvi usando um parâmetro na String de conexão para ignorar esses parâmetros[/color]

[color=darkblue]Conforme esse post aqui no GUJ:[/color]

“java.sql.SQLException: Value ‘0000-00-00’ can not be represented as java.sql.Date” ??

[color=darkblue]Havia feito uma pesquisa, mas não havia encontrado esse post[/color]

Criado 20 de março de 2009
Ultima resposta 20 de mar. de 2009
Respostas 3
Participantes 2