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

相關文章
相關標籤/搜索