DB2数据库连接成功但查询连接报错的解决方案

楼主
我是社区第57426位番薯,欢迎点我头像关注我哦~
本帖最后由 加菲喵 于 2015-9-10 16:10 编辑

数据连接 >> 数据连接FAQ >> DB2数据库连接成功但查询连接报错的解决方案
DB2数据库连接成功但查询连接报错的解决方案
最后更新日期: 2015-8-11
描述

原因分析
解决方案
1.描述
FineReport8.0定义JDBC连接DB2测试连接连接成功



   新建查询却显示连接失败(以新建存储过程为例)



  并且在日志中还有如下报错:
2015-08-10 13:34:21
警告:[jcc][t4][10199][10462][4.0.100] 必需的字符转换器不可用。 ERRORCODE=-4220, SQLSTATE=null
at com.ibm.db2.jcc.a.yc.a(yc.java:55)
at com.ibm.db2.jcc.a.yc.a(yc.java:119)
at com.ibm.db2.jcc.a.dc.a(dc.java:1788)
at com.ibm.db2.jcc.a.dc.n(dc.java:496)
at com.ibm.db2.jcc.a.dc.F(dc.java:1262)
at com.ibm.db2.jcc.a.mk.d(mk.java:938)
at com.ibm.db2.jcc.a.mk.getString(mk.java:916)
at com.fr.third.org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:213)
at com.fr.data.core.db.dialect.AbstractDialect.getSchemas(Unknown Source)
at com.fr.dav.LocalEnv.getTableSchema(Unknown Source)
at com.fr.data.core.DataCoreUtils.getDatabaseSchema(Unknown Source)

...........................
2.原因分析
产生的该现象的原因是因为%Finereport_HOME%\WebReport\WEB-INF\lib下的db2jcc.jar与DB2的版本不符,测试链接只是测试连接的网络连通是否正常,
查询中涉及到数据库表预览取数等计算,不同的版本需要不同的db2jcc.jar驱动。
3.解决方案
   访问http://www-01.ibm.com/support/docview.wss?uid=swg21363866,DB2 JDBC Driver Versions and Downloads中心,可以根据DB2的版本下载对应驱动



注:
第一,如果安装了db2数据库,jar包可以从安装路径找到,但是如果是盗版的db2,只能连接自己在机器上的db2,如果db2服务器在别的机器上,就会连接失败,而且有时间限制。
第二,db2版本问题,8和9两个版本不能通用一个版本的jar包,否则也会出现问题。
建议使用正版的DB2数据库10.1,请支持正版。



分享扩散:
参与人数 +1 F币 +20 理由
传说哥 + 20 赞一个!

查看全部评分

沙发
发表于 2015-8-11 15:21:32
有书写不规范的地方欢迎批评指正
板凳
发表于 2015-8-11 15:31:03
10.1比较好用推荐一下
地板
发表于 2015-8-12 13:38:56
8.0报表设计器连不上db2数据库     http://www.finereporthelp.com/help/31/2/16.html
这个算补充文档吧
5楼
发表于 2015-8-12 13:55:45
本帖最后由 土肥圆 于 2015-8-14 09:07 编辑

原文补充:C级

1)楼主,这个应该算是补充文档
2)在注意那边楼主有说到,如果是盗版的db2,只能连接自己在机器上的db2,如果db2服务器在别的机器上,就会连接失败,而且有时间限制,这个问题有没有解决的办法呢?
6楼
发表于 2015-8-25 09:52:11
原文补充:C级

建议:

”如果安装了db2数据库,jar包可以从安装路径找到“,这里最好说明或者截图一下!
7楼
发表于 2015-8-25 15:38:01

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表