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

目录:

1. 概述编辑

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

FineReport 10.0 升级至 11.0 过程中需要使用到升级工具,在使用升级工具的过程中出现的问题可以参考 升级工具常见问题 进行排查。

2. 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

3. 10升11后数据迁移失败编辑

3.1 数据集报错 1301

问题详情:

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

原因分析:

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

解决方案:

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

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

问题详情:

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

原因分析:

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

解决方案:

数据库配置区分大小写

3.3 数据迁移到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,迁移到不区分大小写的外置库时,这两条就被认为是同一条了,就会报错,导致迁移失败

解决方案:

数据库配置区分大小写

4. 10升11后报表显示异常编辑

4.1 老版本 frm 打开为空白,打开同时新建一个报表

问题详情:

打开老版本frm,设计器会自动新建一个 workbook,且原目标设计页面内容空白,预览正常有数据。

原因分析:

11.0工程启动的时候,自动安装了模板助手插件,导致了功能异常。

解决方案:

禁用模板助手插件后,重新切换远程目录,模板打开正常。

4.2 图表数据展示效果变化

问题详情:

图表数据展示效果异常,展示效果跟原先10环境中不一致

原因分析:

11.0 图表取数逻改动,跟原先的 10 取数逻辑不完全一样,升级后默认采用 11.0 的图表取数逻辑,详情见 10-11兼容说明 第4部分。

解决方案:

安装 图表数据源兼容插件 切换到旧版取数逻辑或重新配置下图表数据。

4.3 地图图层不展示

问题详情:

升级后,原先预览正常的地图模板,图层不展示,升级后 JAR 包日期为 2022-03-29。

原因分析

11.0.3版本中,更改了图层展示的逻辑,必须要登录数据决策系统才能展示图层,在11.0.4中修复

解决方案:

访问模板的同时,在浏览器先登录数据决策系统或更新 jar 到 11.0.4

4.4 自定义JS、图片等引用失败

问题详情:

10-11后,原先 10.0 里面能正常引用的 scripts 文件夹下的自定义 js 和图片,在 11.0 里面不生效

原因分析

升级工具处理后,11.0 里面 scripts 文件夹作为静态资源被拦截,导致 scripts 里面放的自定义 js 文件加载不到

解决方案:

使用FINE_CONF_ENTITY可视化配置插件,将 ServerPreferenceConfig.useOptimizedUPM 值修改为 true

5. 10升11后插件异常编辑

报错关键字:

ERROR java.lang.ArrayIndexOutOfBoundsException at com.fr.genrral.http.HttpToolBox.getHttpClient<HttpToolbox.java>~[fine-core-11.0.jar:?] at com.fr.decision.webservice.v10.plugin.PluginService.getStopPluginCategory<Unknown Source>[fine-decision-11.0.jar:?]

原因分析

部分插件内置了,默认禁用,部分插件不兼容,导致的异常

解决方案:

更新插件