Duvida com SQLException

6 respostas
S

Olá Pessoal …

o que significa esta Exception:
java.sql.SQLException: Value ‘0000-00-00’ can not be represented as java.sql.Timestamp?
O engraçado eh que quando rodo a minha pagina jsp na minha máquina local ele funciona … sem dar erros!! Quando passo para o servidor (linux) aparece essa exception!! O que pode ser!!!

Abraços

6 Respostas

R

Verifique a configuração do formato de Data e Hora do seu servidor linux, pode ser que ele esteja com um padrão diferente.

S

Mas vixe !!!
Como que eu vejo isso no Linux?? :oops: Sorry …

Agradeço desde já a sua ajuda …

Bjos

S

Pessoal …

Essa exception é causada toda vez que eu tenho um registro do tipo DateTime igual a 000-00-00 00:00:00. Agora pq na minha maquina local (Windows) roda normalmente e na hora que eu passo para o servidor (linux) esta exception aparece??

Abraços

D

os padrões de datas são diferentes em quase todas as plataformas, por isso, veja qual o padrão do linux e qual o padrão do windows.
Se forem diferente, faça uma função que converta a data para onde ela irá ser persistida. E uma que desconverta aonde ela será exibida.

M

[color=darkblue]Sei que o tópico é antigo, mas, 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
M

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

Criado 17 de maio de 2005
Ultima resposta 20 de mar. de 2009
Respostas 6
Participantes 4