|
|
|
|
针对异常java.lang.NoClassDefFoundError: oracle/sql/TIMESTAMPLTZ的解决方案 发布时间:2007-11-05 14:11:38 作者:cservice 出处: 语言:中文 阅读次数:576次 |
| 【适用范围】
EOS5.x版本
无操作系统及应用服务器限制
【问题描述和定位】
EOS启动正常,但是访问数据时出现如下错误,且只会在用户访问数据库时返回的结果集中包含日期型的字段时才会出现
Caused by: java.lang.NoClassDefFoundError: oracle/sql/TIMESTAMPLTZ
at com.primeton.tp.core.dataservice.result.SQLResultImpl.getObjectFormResult(SQLResultImpl.java:166)
at com.primeton.tp.core.dataservice.result.SQLResultImpl.buildColElement(SQLResultImpl.java:134)
at com.primeton.tp.core.dataservice.result.SQLResultImpl.translateResultAdapter(SQLResultImpl.java:112)
at com.primeton.tp.core.dataservice.DBBroker.find(DBBroker.java:436)
at com.primeton.eos.bizlets.database.Database.BL_runQuerySql(Database.java:715)
【解决方案和步骤】
通过错误信息可以判断,该错误为找不到Oracle的JDBC驱动中的timestampltz类,所以把classes12.zip复制到default服务的lib目录即$JBOSS_HOME$\server\default\lib后重启系统,问题解决。
【备注】
可能问题为EOS进行数据库的日期时间字段转换成字符时需要用到classes12.zip(即Oracle的JDBC驱动),而系统的lib中无此类引起的,当EOS连接的不是Oracle时,大多使用者可能只把当前使用的数据库的驱动加入了lib目录,而忽视了classes.zip文件,所以大家在发布EOS时需特别的把Oracle的驱动也加入到LIB中。
经测试(EOS)无须其它数据库的JDBC驱动,只Oracle的即可。 |
|
| 声明:本栏目转载文字、造型、样式、图形及程序如有来自网络,版权归原作者或首发媒体所有,欢迎任何个人访问或者转载,若有作者及出处有误,请来信说明,我们将及时更正。 |
|