Java - Problemas con cambio de hora

   
Vista:

Problemas con cambio de hora

Publicado por Santics (2 intervenciones) el 30/03/2011 16:55:53
Buenas foreros!

Estoy teniendo problemas con el cambio de hora y los [I]current_timestamp[/I]. Os resumo el escenario:

[LIST]
[*]Aplicacion en JAVA
[*]Framework Spring
[*]Base de datos Oracle 11g
[*]Clase JDBCTemplate
[/LIST]

El problema surge cuando ejecuto una sentencia sql con el tipico current_timestamp para constatar el momento exacto del cambio en el registro:

[CODE]
private final String sqlInsertar = new StringBuilder()
.append("INSERT INTO tabla(")
.append("CampoDate, ")
.append("CampoChar, ")
.append("CampoTimestamp_1, ")
.append("CampoTimestamp_2) ")
.append("VALUES(?, ?, ?, [B][COLOR="Red"]current_timestamp[/COLOR][/B])")
.toString();

/----/

jdbcTemplate.update(sqlInsertar,
new Object[]{
ficheroVO.getCampoDate(),
ficheroVO.getCampoChar(),
new Date()
}, new int[] {
Types.DATE,
Types.CHAR,
Types.TIMESTAMP
}
);[/CODE]

Pues bien, el TIMESTAMP que saco mediante [I]new Date()[/I] (CampoTimestamp_1), usease mediante Java, si tiene el cambio de hora actualizado. Pero el que saco mediante el [I]current_timestamp [/I]escrito directamente en la sentencia sql (CampoTimestamp_2) me sale con la hora sin actualizar...

Reiniciando el servidor donde esta desplegada la aplicación (WebLogic) el problema se solucionó, pero esto supondria tener que andar reiniciando con cada cambio de hora, y no es plan.

¿Alguien sabria decirme como salir airoso de esta? ¿Hay algun metodo para refrescar la sesion oracle de mi aplicación o no creeis que tenga nada que ver con dicha sesion?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problemas con cambio de hora

Publicado por Santics (2 intervenciones) el 31/03/2011 14:23:21
Bien, pues he desistido en mi empeño de conseguir que el current_timestamp muestre la hora correcta sin tener que reiniciar el servidor de la aplicacion para que a su vez se reinicie la sesion SQL que es de donde toma la hora el dichoso current_timestamp.


He encontrado esto:
http://www.techonthenet.com/oracle/functions/systimestamp.php

No sabia que existiera tal comando, la verdad. Es como un current_timestamp pero en lugar de sacar de la actual SQL session, la saca de la base de datos :porra:

Espero le sirva a mas gente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar