历史版本8 :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. 插件兼容问题编辑

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

问题详情:

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

原因分析:

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

解决方案:

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

3.2 升级后 word 报告导出异常

原因分析:

插件版本问题,图表小于一定阈值时,会产生形变/压缩。

解决方案:

将 JAR 更新至 11.0.9 及之后版本,同时更新 Word 报告插件。

3.3 填报预览报错:未安装新填报预览插件

问题详情:

升级之后决策平台预览挂载填报模板,出现报错:未安装新填报预览插件,自动转换为老填报预览,如下图所示:

原因分析:

Finereport11.0 废弃了「新填报预览」功能,改为插件支持。

若原 Finereport10.0 工程在三个月内有使用「新填报预览」的功能记录,在升级时会自动以插件形式保留此功能。

若原 Finereport10.0 工程在三个月内没有使用「新填报预览」的功能记录,需要用户自行按照新填报预览插件。

解决方案:

联系技术支持获取新填报预览插件。

技术支持联系方式:请前往「服务平台」,选择「在线支持」即可。

3.4 使用扩展图表插件开发的图表,升级之后图表颜色异常

问题详情:

模板使用旧图表插件开发的图表,升级之后图表的颜色样式不对。

解决方案:

更新扩展图表版本到 V4.6.5 解决

3.5 升级后钉钉配置消失

原因分析:

原始的钉钉集成插件版本老旧,兼容性较差。

解决方案:

更新最新版本插件,并重新配置相关信息,同时在钉钉应用上需要重新保存新的平台地址并发布。

3.6 升级后新建定时调度任务失败

问题详情:

10升11后定时调度执行失败,新建的定时调度通知方式为客户端通知的任务均无法保存。

原因分析:

插件版本不适配。

解决方案:

重新安装71版本微信管理插件即可。

3.7 升级后前端单点登录失败

问题详情:

FineReport 9.0 版本与其他产品集成,升级后 11.0 版本后单点登录失败。

原因分析:

升级后接口变更导致单点登录失败。

解决方案:

重新安装单点登录插件,重新配置单点登录地址即可。

3.8 升级后负载管理显示空白

问题详情:

升级之后,负载管理没有信息展示,都是空白现象,websocket端口正常,如下图所示:

解决方案:

更新至 11.0.10 版本即可。

3.9 升级后 Mes 集成失败

问题详情:

10.0版本与Mesh集成,升级后Mes集成失败。

原因分析:

云端运维插件冲突。

解决方案:

禁用云端运维插件即可。

3.10 升级后模板加载变慢

问题详情:

原 10.0 版本安装了性能插件,优化模板加载速度,升级后模板加载速度变慢。

原因分析:

Finereport10.0 使用性能插件,Finereport11.0 将该插件拆分为三个插件以及内置功能,不再使用性能优化插件。

解决方案:

Finereport11.0 将该插件拆分为三个插件以及内置功能,根据需求重新安装插件即可。

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

问题详情:

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

原因分析:

插件版本问题

解决方案:

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

3.12 升级后复选框全选报错

问题详情:

10.0 中使用控件性能优化插件,升级后复选框全选报错:CustomJSError :_..).setCellsQuick

原因分析:

11.0 版本不支持控件性能优化插件

解决方案:

使用替代方案:JS实现复选按钮控件全选和批量操作

4. 升级后数据库/数据集异常编辑

4.1 升级后外接库迁移失败

问题详情:

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

原因分析:

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

解决方案:

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

4.2 数据集报错 1301

问题详情:

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

1675234292119232.png

原因分析:

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

解决方案:

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

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

问题详情:

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

原因分析:

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

解决方案:

数据库配置区分大小写

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

解决方案:

数据库配置区分大小写

4.5 升级后数据显示不全

问题详情:

升级后数据显示不全。

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

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

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

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

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

原因分析:

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

解决方案:

删除空行即可。

5. 控件相关问题编辑

5.1 升级后填报时出现提示:不允许自定义值

问题详情:

升级后原填报报表,进行填报时出现提示:不允许自定义值,如下图所示:

原因分析:

10 升 11 后,控件校验逻辑改动导致填报效果异常,10.0 的时候不会校验控件自带的校验,11.0 控件默认自带校验功能。

解决方案:

可通过「fine_conf_entity可视化配置插件」,找到 fine_conf_entity 表,修改WriteOptimizationConfig.verifyCustomValue参数值为false,重启 tomcat 即可。

5.3 升级后填报校验失败

问题详情:

升级11之后,数据校验不通过,填报失败。

原因分析:

10.0中对空格不进行校验,11里面空格识别为自定义内容,导致了异常。

解决方案:

删除空格即可。

5.4 升级后标签控件写入html显示异常

问题详情:

10-11升级后 label标签控件写入html显示,大于号展示成&gt,如下图所示:

正常情况:

异常显示:

解决方案:

升级至 11.0.9 及之后的版本即可。

5.5 升级后日期控件报错

问题详情:

10-11升级后日期控件报错“找不到控件类型”,10版本正常,11版本报错,如下图所示:

原因分析:

初始日期用 YEAR(TODAY()) 返回的是一个数字类型的,和控件格式的 yyyy 类型不一致导致报错。

解决方案:

升级至 11.0.12 及之后的版本即可。

6. 图表相关问题编辑

4.1 升级后热力地图显示异常

原因分析:

图表数据源取数逻辑改变导致的异常。

解决方案:

方案一:转为新自适应后,热力地图的点渲染出来会比较大,可以手动调下半径。

方案二:安装「图表数据源兼容插件」插件将图表取数逻辑切换为旧版。

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

4.5 内网客户地图配置界面空白

问题详情:

升级至2022-06-30及之后的jar包,内网环境客户决策平台-地图配置界面,地理信息、自定义图片地图不显示。

原因分析

11.0.6 版本及之后的「地图配置」界面,需联网请求高德 API 资源,否则地理信息、自定义图片图层无法显示

解决方案:

参考 地图配置 开通白名单  

4.6 升级后Y轴坐标异常

问题详情:

y 轴都没有自定义最大最小值,也没有自定义区间,升级之后 y 轴数值改变了。

解决方案:

重新调整坐标轴数值设置。