连接db2数据库时NumberFormatException异常的解决方式

连接db2数据库时报异常:java.lang.NumberFormatException: For input string: "A" from a DB2 JDBC(JCC)

java.lang.NumberFormatException: For input string: "A" 
at 
java.lang.NumberFormatException.forInputString(NumberFormatException.jav 
a:48) 
at java.lang.Integer.parseInt(Integer.java:447) 
at java.lang.Integer.parseInt(Integer.java:497) 
at com.ibm.db2.jcc.a.xc.<init>(xc.java:64) 
at com.ibm.db2.jcc.b.f.<init>(f.java:44) 
at com.ibm.db2.jcc.b.b.cb(b.java:1940) 
at com.ibm.db2.jcc.a.p.a(p.java:3251) 
at com.ibm.db2.jcc.b.b.a(b.java:618) 
at com.ibm.db2.jcc.b.b.<init>(b.java:333) 
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:165) 
at java.sql.DriverManager.getConnection(DriverManager.java:582) 
at java.sql.DriverManager.getConnection(DriverManager.java:154) 
at

发生这个问题的原因是,jdbc驱动版本和数据库服务版本不匹配, 需要根据db2 server的版本调整jcc驱动,比如jcc驱动版本比db2 server版本低。

解决方式为:

1)可以直接到db2 server的安装目录(类似SQLLIB/java目录)下将jcc的驱动包放到应用的classpath路径下。

2)或执行db2ls命令查看db2 server的版本信息,到以下地址下载对应的驱动版本:

https://www-304.ibm.com/support/docview.wss?rs=71&uid=swg21363866

备注:基于sofa平台的驱动更新方式:

将下载的jcc驱动包重新命名为(db2jcc_license_cu-2.11.24.jardb2jcc-2.11.24.jar)并覆盖到/WEB-INF/sofa-container/repository/sofa/core/com.yss.sofa.extender-*.jar/lib目录下。

posted @ 2016-07-12 11:38  bingjava  阅读(1550)  评论(0编辑  收藏  举报