1. 概述
1.1 版本
报表服务器版本 |
---|
11.0 |
1.2 功能简介
本文将列出在备份还原过程中,常见的问题及解决方案。
2. FINE_CONF_ENTITY表字段过长
问题描述:
平台备份失败,日志报错java.sql.SQLDataException: data exception: string data, right truncation; table: FINE_CONF_ENTITY column: VALUE
原因分析:
FINE_CONF_ENTITY 表中存在过长的数据,超出 VALUE 字段的长度限制(默认最大长度为 65535)。
解决方案 1:
超级管理员可通过「fine_conf_entity可视化配置插件」,修改BackupConfig.customValueLength参数值,来调整最大长度限制。
重启服务器后设置生效。如下表所示:
配置项 | 修改规则 |
---|---|
BackupConfig.customValueLength | 参数值需为正整型 默认值为 65536 |
解决方案 2:
注1:修改 FINE_CONF_ENTITY 表字段的方法请参考:填报修改fine_conf_entity 。
注2:在删除前请手动备份工程路径%FR_HOME%/webapps/webroot/WEB-INF/embed下的 finedb 文件。
1)在数据库查询中使用以下 SQL 语句筛选出字段长度过长的数据:
SELECT id,value,LENGTH(value) as zdcd FROM fine_conf_entity ORDER BY zdcd DESC
2)使用 删除提交 ,删除筛选出来的超长数据。
3)重启服务器后设置生效。
3. can not be represented as java.sql.Timestamp
平台备份失败,日志报错:Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
原因分析:
MySQL 数据库中存在空字段,使用JDBC中读取时会转化为0000-00-00 00:00:00,但java不能识别,需要将空数据转换为 Null 。
解决方案:
修改数据连接的信息。数据连接的「数据连接URL」后加上参数,将空数据强制转成 Null 。
格式为:zeroDateTimeBehavior=convertToNull
4. program has no privilege to read and write
问题描述:
自动备份失败,日志报错:java.lang.IllegalArgumentException: program has no privilege to read and write :/root/.FineReport100/XXX/config
原因分析:
备份过程中用到了文件夹/root/.FineReport100下的缓存文件,用户没有文件夹/root/.FineReport100的读写权限,导致备份失败。
解决方案:
配置文件夹/root/.FineReport100 的读写权限。
5. file input/output errorerror
问题描述:
备份路径在 E 盘,E 盘空间充足,但是自动备份经常失败,日志报错:file input/output errorerror java.io.FileNotFoundException: C:\Users\Administrator\.FineReport100\XXX\config\finedb\db.data (磁盘空间不足。)
原因分析:
磁盘空间不足导致备份失败。
备份时会临时使用 C 盘空间(备份成功后会自动释放空间),C 盘空间不足导致备份失败。
解决方案:
扩容 C 盘或清理 C 盘空间。
6. com.fr.plugin.xxx
问题描述:
备份还原失败,日志报错:com.fr.plugin.xxx.entity.xxxEntity
解决方案:
1)禁用插件,重新备份。
2)若禁用插件后仍备份失败,删除插件并重启工程,重新备份。