DB2jcc 有jdk限制

公司的测试服务器,无厘头的爆出以下问题:java

[com.mchange.v2.c3p0.SQLWarnings.logAndClearWarnings()]:Origination unknown: [10228][11541][3.62.56] 在装入驱动程序时发生了安全性异常。 ERRORCODE=4223, SQLSTATE=null
com.ibm.db2.jcc.am.SqlWarning: Origination unknown: [10228][11541][3.62.56] 在装入驱动程序时发生了安全性异常。 ERRORCODE=4223, SQLSTATE=nulltomcat

Caused by: java.lang.ClassNotFoundException: sun.io.ByteToCharConverter安全

但生产的服务器,同样的应用,tomcat, jdk,却没有错。服务器

经查,是DB2jcc.jar这个驱动太旧了,用到sun.io.ByteToCharConverter 这个类仅在jdk1.7如下才有。maven

解决方案有两个:测试

1、降级jdk, 若是只是本身用就能够,公司的应用有几千亿人用,这怎么能,被否。ui

二、找个DB2jcc.jar的兼容版本。.net

去到测试服务器,tomcat/lib下,输入命令:get

java -cp ./db2jcc.jar com.ibm.db2.jcc.DB2Jcc -configuration

知道当前DB2jcc.jar的依赖jdk。经查,依赖是1.6, 那为何之前不出现,生产不出现这个错呢? 这里先无论。io

去maven仓库里拿个最新的版本,放进去,再输入命令,是支持jdk1.8。

查看命令能够参考:http://twistman.buyberry.net/ibm-db2-jdbc-driver-versions/

查看db2jcc版本:https://www-01.ibm.com/support/docview.wss?uid=swg21363866

相关文章
相关标签/搜索