连接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版本低。
解决方式为:
)可以直接到db2 server的安装目录(类似SQLLIB/java目录)下将jcc的驱动包放到应用的classpath路径下。
)或执行db2ls命令查看db2 server的版本信息,到以下地址下载对应的驱动版本:
https://www-304.ibm.com/support/docview.wss?rs=71&uid=swg21363866
备注:基于sofa平台的驱动更新方式:
将下载的jcc驱动包重新命名为(db2jcc_license_cu-2.11.24.jar、db2jcc-2.11.24.jar)并覆盖到/WEB-INF/sofa-container/repository/sofa/core/com.yss.sofa.extender-*.jar/lib目录下。