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:?]
原因分析:
部分插件内置了,默认禁用,部分插件不兼容,导致的异常
解决方案:
更新插件