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

目录:

1. 概述编辑

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

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

2. 10.0 备份还原失败编辑

2.1 报错:java.sql.SQLDataException: data exception: string data, right truncation;  table: FINE_CONF_ENTITY column: VALUE

问题现象:配置了外接库,手动备份失败,报错“java.sql.SQLDataException: data exception: string data, right truncation;  table: FINE_CONF_ENTITY column: VALUE”

 

原因分析:fine_conf_entity 表中存在数据长度超长,导致备份失败。

解决方案:

方法1:将超长的数据字段筛选出来删掉 。

方法2:(只支持mysql数据):添加一条记录到 fine_conf_entity 表中 id:BackupConfig.customValueLength value: 最大长度数字(比如200000),添加完重启服务生效

2.2 报错:java.lang.RuntimeException: com.fr.third.org.hibernate.exception.ConstraintViolationException: could not execute statement

问题现象:配置了外接库,手动备份失败,报错“java.lang.RuntimeException: com.fr.third.org.hibernate.exception.ConstraintViolationException: could not execute statement

因分析:FINE_AUTHORITY 表里 AUTHORITYENTITYID 这个字段里有3条数据末尾有空格

解决方案:查询异常有空格数据,并删除异常数据即可。

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”。不能在对象“dbo.QRTZ_CRON_TRIGGERS”中插入重复键,违反了 PRIMARY KEY 约束“PK__QRTZ_CRO__922200A706C24256”。不能在对象“dbo.QRTZ_CRON_TRIGGERS”中插入重复键”

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

解决方案:

1)清空weixin相关脏数据,重新迁移

2)数据库配置区分大小写

注意事项:

1)外接库尽量设置区分大小写,若有特殊需求再根据迁移结果进一步处理

2)尽量新建一个空白库做迁移

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 10.0升级11.0版本后,老版本 frm 打开为空白,打开同时新建一个报表

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

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

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

4.2 10-11升级后,地图展示效果异常

问题详情:地图效果异常,展示效果跟原先10环境中不一致

原因分析:11.0图表取数逻改动,跟原先的10取数逻辑不完全一样,升级后默认采用11.0的图表取数逻辑,详情见 10-11兼容说明 第4部分。解决方案:安装 图表数据源兼容插件 切换到旧版取数逻辑或重新配置下图表数据。

4.3 10-11后,地图图层不展示

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

原因分析11.0.3版本中,更改了图层展示的逻辑,必须要登陆决策平台才能展示图层,在11.0.4中修复

解决方案:访问模板的同时,在浏览器先登陆下决策平台或更新 jar 到 11.0.4

4.4 10-11后平台大部分模板预览报错“请联系管理员”

问题详情:10-11后,超管账号,部分模板提示没权限;部分模板可以正常预览;远程设计器下,异常的模板,预览依旧异常。

报错关键字:ERROR [standard]  message client not initialized! java.lang.RuntimeException: message client not initialized

原因分析finedb 损坏,部分字段值丢失

解决方案:修复 fiendb 后重新升级或者拿正常的 fiendb 到环境中替换下

4.5 10-11后,自定义js、图片等引用失败

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

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

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

4.6 升级后预览模板报错

问题详情:服务器是windows环境,发了升级工具,按照文档操作,升级报错 windows.go:28: exec: '.upgrade//runtime//windows//bin//java': file does not exist,重启之后依旧报错RuntimeError: Failed to bind to address [::]:20218; set GRPC_VERBOSITY=debug environment variable to see detailed error message

解决方案:更新升级后再将 upgrade 生成的 jdk 文件删除重新生成;手动删除 10.0 的 jar 包后重启后正常;插件更新,需要先删除再重新安装    

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

5.1 10-11后,后台日志一直抛错“ERROR java.lang.ArrayIndexOutOfBoundsException”

报错关键字: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:?]

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

解决方案:更新插件

6. 10升11后数据决策系统异常编辑

6.1 10-11升级后,访问决策平台提示账号密码错误

问题详情:升级到11版本后,启动工程,访问决策平台提示账号密码错误

原因分析:lic上传到服务器端损坏,导致注册失败

解决方案:lic文件已压缩包格式上传到服务器端再解压,注册成功

6.2 平台首页出现多层嵌套

问题详情:10-11后访问平台,首页模板嵌套了多层

原因分析首页是挂载的模板链接,链接形式需要拼接上 login 参数

解决方案:链接地址后面拼接上 login 或挂载形式换成直接选择模板