历史版本7 :10-11升级后数据连接问题排查 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文主要汇总了 FineReport 10.0 升级至 11.0 后数据连接的常见问题及解决方案,便于大家更好的解决升级过程中遇到的问题。

2. 数据连接问题编辑

2.1 升级后sqlserver连接失败

问题描述:

升级后所有的sql server都连接失败,报错:com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)。如下图所示:

原因分析:

11.0 版本 JDK 默认禁止 TLSv1 和 TLSv1.1 协议,需要修改 tomcat 调用的 JRE 的配置文件,路径为jre\lib\security\java.security,注释掉TLSv1, TLSv1.1

解决方案:

1)Tomcat 独立部署环境:

找到 Tomcat 调用的 JDK,修改 jdk\jre\lib\security\java.security 文件,将 jdk.tls.disabledAlgorithms 中的 TLSv1, TLSv1.1 去掉

2)官网部署包部署环境:

修改jtomcat-win64\jdk\jre\lib\security\java.security文件,将 jdk.tls.disabledAlgorithms中的TLSv1, TLSv1.1去掉

2.2 设计器中sqlserver连接失败

问题描述:

升级之后,在设计器中 sqlserver 连接失败。

原因分析:

驱动异常。

解决方案:

点击下载获取新的 sqlserver 驱动:sqljdbc.jar

更换 sqlserver 驱动,放到 lib 下,重启生效即可正常连接。

2.3 升级后测试连接成功,编辑测试连接失败

问题描述:

在数据决策平台中的数据连接,选择测试连接显示连接成功,进入编辑测试连接后,进行数据连接提示连接失败,如下图所示:

解决方案:

更新 JAR 包至 2022-11-16 及之后版本即可。

2.4 升级后数据迁移到sqlserver数据库,迁移失败

原因分析:

迁移的数据库不区分大小写,FineDB 中存在脏数据。

解决方案:

删除 FineDB 里面相关的无效数据,重新迁移。

2.5 升级后informix数据连接失败

问题描述:

升级到 11.0.5 版本后,informix 数据连接失败,报错日志:GetConnectionTimeoutException: wait millis 10000, active 0, maxActive 50, creating 0

原因分析:

11.0.5 之后升级了 druid,由于内置 informix 驱动实现的 JDBC 协议老旧,导致 druid 无法正确保存创建后的连接,继而出现无法连上的问题。

解决方案:

更新 informix 驱动,放到 lib 下,重启生效即可正常连接。

2.6 升级后oracle11g和oracle19c数据连接失败

问题描述:

升级11版本后,oracle11g和oracle19c数据连接失败,报错:GetConnectionTimeoutException: wait millis 10000, active 0, maxActive 50, creating 0。

原因分析:

驱动冲突。

解决方案:

检查 %Tomcat%\webapps\webroot\WEB-INF\lib 下驱动,更换合适的驱动即可。

2.7 升级后impala的连接失败

问题描述:

升级后,原 10.0 的工程中配置 impala 的连接失败。

原因分析:

impala 驱动问题。

解决方案:

检查是否存在 impala 驱动文件,缺失则需要下载对应的驱动文件,可参考:[平台]Apache Impala数据连接

2.8 升级后mysql或者oracle数据连接失败

解决方案:

lib 下对应的驱动问题,手动将 tomcat-win64\webapps\webroot\WEB-INF\lib 下的 mysql、oracle 驱动进行更换即可。

可参考:MySQL数据连接Oracle数据连接

2.9 自定义驱动包上传失败

解决方案:

安装 fine_conf_entity 可视化配置插件 后

1)查找字段 SystemConfig.driverUpload,如果不存在该字段,则点击「添加记录」,新增该字段。

2)修改字段值为 true

重启服务后,能正常添加自定义驱动。可参考:驱动管理

2.10 FineReport 持续向第三方数据集发送请求

问题描述:

升级后产品持续向第三方数据集发送 select 1,一秒一次,如下图所示:

原因分析:

数据连接中设置了数据连接获取连接前校验,导致持续发送校验请求。

解决方案:

登录数据决策系统,进入数据连接,编辑数据连接,将「获取连接前检验」修改为否即可,如下图所示:

2023-02-02_11-03-27.png

2.11 升级后首次新建sqlserver数据连接失败

问题描述:

升级到 11.0.13 版本后,首次打开设计器,新建 sql server 类型的数据连接,首次保存数据连接失败,报错非常抱歉,您当前访问的数据库属于如下类型,系统暂不支持:Microsoft SQL Server,系统支持的数据库类型:,点击取消之后再次新建数据连接保存正常。

解决方案:

更新 FineReport 工程至 11.0.14 及之后版本即可。

3. 数据库/数据集问题编辑

3.1 升级后外接库迁移失败

问题详情:

外接库迁移失败,日志报错“DELETE 语句与 REFERENCE 约束"FKIxxobqny@g02kivod3cblxeoh"冲突”和“不能在对象“dbofine conf entity"中插入重复键”

原因分析:

平台日志迁移插件老版本导致 finedb 表会有大小写两条数据,外接库不区分大小写就会报错违反主键约束。

解决方案:

更新插件到最新版本,将第一次外接库迁移的表清空,二次重新配置外接库迁移即可。

3.2 数据集报错 1301

问题详情:

工程从10.0升级到11.0后,切换到11的远程目录下,操作升级后的模板进行操作(修改数据集sql、控件等)就会报错,模板存到本地目录,打开编辑、预览一切正常,设计器和服务器版本一致。10-11后,所有模板无法保存。


原因分析:

11.0 内置了新引擎和抽数缓存两个模块,老的 server.xml 没有这两个模块的配置,所以不会启动,导致了功能异常

解决方案:

删除 WEB-INF/classes/com/fr/config/server/server.xml 后,重启服务恢复正常

3.3 数据迁移到sqlserver数据库失败

问题详情:

升级到11版本后,配置sqlserver外接数据库,迁移失败,报错“违反了 PRIMARY KEY 约束“PK__QRTZ_CRO__922200A77784281C”。

原因分析:

数据库排序规则设置的是 Chinese_PRC_CI_AS,需要改成 Chinese_PRC_CS_AS(大小写敏感)

解决方案:

数据库配置区分大小写

3.4 数据迁移到mysql数据库失败

问题详情:

升级到11版本后,配置mysql外接数据库,迁移失败,报错“ERROR [com.fr.third.org.hibernate.engine.jdbc.spi.SqlExceptionHelper]  Duplicate entry 'QuartzScheduler-weixinCollectBaseInfoTriggerGroup-weixinCollectB' for key 'PRIMARY'”

原因分析:

10-11后,新旧版本的微信插件会添加两个定时任务,名字分别类似 weixinXXX 和 WeiXinXXX,迁移到不区分大小写的外置库时,这两条就被认为是同一条了,就会报错,导致迁移失败

解决方案:

数据库配置区分大小写

3.5 升级后数据显示不全

问题详情:

升级后数据显示不全。

原因一:报表过滤使用 sql 公式编写,相关数据取自 finedb 的表的,从 8.0版本升级至 11.0 后,表名和数据连接方式都变了,需要手动排查问题并改修改 Finedb。

原因二:原外接库的 finedb 里有其他的表,升级后由于表变了数据不一致。

原因一的解决方案:按照帮助文档修改 finedb 数据连接并保存,可参考:FineDB 数据库简介,然后修改 sq l公式的表名。

原因二的解决方案:将原来的表都复制到新的 finedb 里,同时需要修改排序规则。

3.6 升级后 JSON 数据集不可使用

原因分析:

10.0 对空行不敏感,11.0 对空行就敏感导致异常。

解决方案:

删除空行即可。

3.7 升级后 json 数据集取数失败报错:Read timed out

问题详情:

升级后 json 数据集取数失败报错:Read timed out,如下图所示:

原因分析:

插件版本问题

解决方案:

更新 json 数据集插件到 V9.5.11 版本即可。