反馈已提交

网络繁忙

10-11升级后数据连接问题排查

  • 文档创建者:Catqiu
  • 历史版本:7
  • 最近更新:HeroZ 于 2023-04-20
  • 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)官网部署包部署环境:

    修改tomcat-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 版本即可。


    附件列表


    主题: 部署集成
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持