Martin Novák [http://community.jboss.org/people/martinnovak] created the 
discussion

"Oracle timezone problems & JBoss"

To view the discussion, visit: http://community.jboss.org/message/580959#580959

--------------------------------------------------------------
Hello, we have a database that contains a table with a column of type TIMESTAMP 
WITH LOCAL TIME ZONE. We have two applications, one runs on Glassfish and works 
well. But the other one runs on JBoss 4.2.3, and we are getting the following 
error:

Caused by: java.sql.SQLException: The database session time zone is not set
        at 
oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
        at 
oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
        at 
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
        at 
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
        at 
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)
        at 
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:445)
        at 
oracle.jdbc.driver.TimestampltzAccessor.getTimestamp(TimestampltzAccessor.java:298)
        at 
oracle.jdbc.driver.OracleResultSetImpl.getTimestamp(OracleResultSetImpl.java:1060)
        at 
oracle.jdbc.driver.OracleResultSet.getTimestamp(OracleResultSet.java:512)
        at 
org.jboss.resource.adapter.jdbc.WrappedResultSet.getTimestamp(WrappedResultSet.java:979)
        at org.hibernate.type.TimestampType.get(TimestampType.java:30)
        at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
        at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
        at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
        at 
org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2096)
        at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
        at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
        at org.hibernate.loader.Loader.getRow(Loader.java:1206)
        at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
        at org.hibernate.loader.Loader.doQuery(Loader.java:701)
        at 
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
        at org.hibernate.loader.Loader.doList(Loader.java:2220)

This error occurs just when we read from that field, not when we write to it. 
However the strange thing is that the reading works just fine on Glassfish and 
fails on JBoss. I have noticed that Glassfish uses directly OracleDataSource 
whereas JBoss does not. When I tried to use OracleDataSource on JBoss, the 
error was still the same. I also tried both OCI and THIN and there was no 
difference. It seems to me that this has something to do with Oracle JDBC 
formatting.

I have found on the internet some solutions that basically say that we should 
set the timezone on the oracle connection (OracleConnection) manually. This is 
what we don't want to do, actually. And I believe if reading from local 
timezone column works on Glassfish, it should work on JBoss as well. But I have 
no idea how to set it up. Has anyone came across to this problem?
thanks,
Martin
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/580959#580959]

Start a new discussion in Datasource Configuration at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2077]

_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to