1. 概述编辑
本文主要汇总了 FineReport 10.0 升级至 11.0 后数据决策系统的常见问题及解决方案,便于大家更好的解决升级过程中遇到的问题。
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 升级后测试连接成功,编辑测试连接失败
问题描述:
在数据决策平台中的数据连接,选择测试连接显示连接成功,进入编辑测试连接后,进行数据连接提示连接失败,如下图所示:
解决方案:
更新 JAR 包至 2022-11-16 及之后版本即可。
2.3 升级后数据迁移到sqlserver数据库,迁移失败
原因分析:
迁移的数据库不区分大小写,FineDB 中存在脏数据。
解决方案:
删除 FineDB 里面相关的无效数据,重新迁移。
2.4 升级后informix数据连接失败
问题描述:
升级到 11.0.5 版本后,informix 数据连接失败,报错日志:GetConnectionTimeoutException: wait millis 10000, active 0, maxActive 50, creating 0
原因分析:
11.0.5 之后升级了 druid,由于内置 informix 驱动实现的 JDBC 协议老旧,导致 druid 无法正确保存创建后的连接,继而出现无法连上的问题。
解决方案:
更新 informix 驱动,放到 lib 下,重启生效即可正常连接。驱动下载链接:ifxjdbc_informix.jar
2.5 升级后oracle11g和oracle19c数据连接失败
问题描述:
升级11版本后,oracle11g和oracle19c数据连接失败,报错:GetConnectionTimeoutException: wait millis 10000, active 0, maxActive 50, creating 0。
原因分析:
驱动冲突。
解决方案:
检查 %Tomcat%\webapps\webroot\WEB-INF\lib 下驱动,更换合适的驱动即可。
2.6 升级后impala的连接失败
问题描述:
升级后,原 10.0 的工程中配置 impala 的连接失败。
原因分析:
impala 驱动问题。
解决方案:
检查是否存在 impala 驱动文件,缺失则需要下载对应的驱动文件,可参考:[平台]Apache Impala数据连接
2.7 自定义驱动包上传失败
解决方案:
1)查找字段 SystemConfig.driverUpload,如果不存在该字段,则点击「添加记录」,新增该字段。
2)修改字段值为 true
重启服务后,能正常添加自定义驱动。可参考:驱动管理
2.8 FineReport 持续向第三方数据集发送请求
问题描述:
升级后产品持续向第三方数据集发送 select 1,一秒一次,如下图所示:
原因分析:
数据连接中设置了数据连接获取连接前校验,导致持续发送校验请求。
解决方案:
登录数据决策系统,进入数据连接,编辑数据连接,将「获取连接前检验」修改为否即可,如下图所示:
2. 备份还原问题编辑
2.1 10.0 备份还原失败
问题描述:
备份失败,报错「java.sql.SQLDataException: data exception: string data, right truncation; table: FINE_CONF_ENTITY column: VALUE」
原因分析:
fine_conf_entity 表中存在数据长度超长,导致备份失败。
解决方案:
方案一:将超长的数据字段筛选出来删掉 。
方案二:仅支持mysql类型的外接数据库使用该方案。
超级管理员可通过「fine_conf_entity可视化配置插件」,修改BackupConfig.customValueLength参数值,来调整最大长度限制,重启服务器后设置生效。如下表所示:
配置项 | 修改规则 |
---|---|
BackupConfig.customValueLength | 参数值需为正整型 默认值为65536 |