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后,所有模板无法保存。
原因分析:
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显示,大于号展示成>,如下图所示:
正常情况:
异常显示:
解决方案:
升级至 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 轴数值改变了。
解决方案:
重新调整坐标轴数值设置。