关于 java:exception 尝试从 ojdbc6.jar 升级到 ojdbc7.jar

exception while trying to upgrade oto ojdbc7.jar from ojdb6.jar

我用 ojdb7.jar 替换了我在 tomcat/lib 中的 ojdb6.jar 文件。打开Tomcat,尝试使用时出现以下错误...

1
2
Could not get JDBC Connection; nested exception is org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-00604: error occurred at recursive SQL level 1
ORA-01882: timezone region not found

这是我正在使用的连接池配置....

1
2
3
4
5
6
7
8
9
10
11
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" type="javax.sql.DataSource"
    maxActive="25" maxIdle="25" maxWait="2000"
    name="jdbc/getcontacts"
    timeBetweenEvictionRunsMillis="1000"
    minEvictableIdleTimeMillis="30000"
    removeAbandoned="true"
    removeAbandonedTimeout="30000"
    logAbandoned="true"
    username="xxxx" password="xxxxx"
    validationQuery="Select 1 from dual" connectionProperties="defaultRowPrefetch=10000"
    url="jdbcracle:thin:@//xxxxx.net/xxxxx" />

知道是什么原因造成的吗?我们使用的是 Oracle 数据库 11g。

1
2
3
4
/usr/jdk7/bin/java -version
java version"1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

任何帮助将不胜感激。当我放回 ojdb6.jar 文件并删除 ojdb7.jar 文件时,一切正常。


尝试添加虚拟机参数

1
-Doracle.jdbc.timezoneAsRegion=false