1. 概述
1.1 版本
| 报表服务器版本 | 功能变更 |
|---|---|
| 11.0 | - |
| 11.0.6 | 1)新增次级管理员支持「资源迁移」功能 2)超管进行「资源导出」时「同时导出权限配置」变更为默认不勾选。 |
1.2 应用场景
使用 FineReport 数据决策系统时,一般先在测试环境系统上进行开发部署,确认无误后再迁移到正式系统中。
FineReport 支持将报表文件、数据连接、服务器数据集和平台配置从测试系统增量迁移到正式系统。
1.3 功能简介
FineReport提供资源迁移功能,支持将报表文件、数据连接、服务器数据集和平台配置等资源从测试系统到正式系统的增量迁移。
管理员登录FineReport系统,点击「管理系统>智能运维>资源迁移」,分为「资源导出」、「资源导入」两部分,如下图所示:
资源导出:将需要迁移到其他系统的资源从原FineReport系统中导出,以供后续迁移。
资源导入:将需要迁移的资源在新FineReport系统中导入,即迁移至新系统。

1.4 注意事项
1)正式工程需购买「运维平台」功能点(曾用名「智能运维」)才可使用「资源迁移」功能。
2)FineReport工程的资源支持导入FineReport工程,或FineBI6.X及以下版本的工程,不支持导入FineBI7.0工程。
3)请确保在资源迁移过程中,没有其他人使用对应管理员账号,否则部分执行请求可能被取消。
4)不建议在个人 PC 端工程开发模板后,再以资源迁移的形式同步到公司工程。
因为个人 PC 端没有管理员维护,经常会因为 JAR 包不同步或资源以及配置不同步的问题导致资源迁移失败,运维成本会很高。
5)单次资源导入内容不可超出2GB,否则在导入资源时会报错:out of memoryerror。请少量多次分配导出和导入资源。
6)资源迁移功能支持超级管理员和次级管理员。超级管理员需为对应次级管理员开通「智能运维」和「智能运维>资源迁移」的使用权限。
次管在进行「资源导出」时不支持「同时导出权限配置」。
若在资源迁移导入后发现部分目录名称显示为空白,此问题是由于导出资源时勾选了「同时导出超链跳转模板」,导致部分目录结构信息丢失,从而在导入后显示为空名称。

2. 资源迁移前检查
2.1 确认注册运维平台功能点
资源迁移功能,依赖「运维平台」功能点。
管理员分别登录资源迁出和迁入的工程,点击「管理系统>注册管理>功能列表」。
请确保工程已注册功能点中包含「运维平台」功能点。如不包含该功能点,请联系帆软销售增购。
注:对于未注册工程,默认拥有该功能点,可跳过。

2.2 确认FineReport工程版本
资源迁出和迁入的工程,必须保证主工程类型完全一致,即都必须是FineReport工程,不支持FineReport工程资源迁入FineBI7.0工程。
资源迁出和迁入的工程,必须保证工程小版本号和 JAR 包时间完全一致,否则资源无法成功导入。
1)管理员分别登录资源迁出和迁入的工程,查看「管理系统>注册管理>版本信息」页面。
2)请确保两个工程均只包含报表模块,不包含BI模块,请确保两个工程的小版本号和 JAR 包时间完全一致。
若版本不一致,可通过升级FineReport工程来确保版本一致。详情请参见:FineReport版本升级简介

注:在资源导入时,若上传资源对应的工程和当前工程版本不一致,则无法上传。
提示「无法导入,即将导入的资源需要的工程版本:XXX。当前工程版本:XXX。请确保工程版本一致!」

2.3 确认外接配置库字符集排序规则
对于资源迁出和迁入的工程,若对接了外接配置库,外接配置库的字符集排序规则应当保持一致,均为「大小写敏感」。否则在资源迁移后,构建表索引时,不同表ID可能被认定为同一张表,从而被错误覆盖。
配置库的字符集排序规则的查看和修改步骤,请自行查阅对应数据库帮助文档。(例如MySQL类型,应当设置为utf8mb3_bin,别称utf8_bin)

3. 资源导出
管理员登录 FineReport 系统后,进入「管理系统>智能运维>资源迁移」,即可进行「资源导出」。

3.1 选择导出资源
选择需要导出的资源类型,选择每种类型下需要导出的具体内容,支持多选。支持导出的各种资源如下表所示:
注:单次资源导入内容不可超出2GB。因此请少量多次导出资源。
| 资源类型 | 说明 |
|---|---|
| 目录 | 选择「目录」,可勾选挂载在系统目录中的各个节点和模板 |
| 数据连接 | 选择「数据连接」,列表可多选,所有配置(基础配置、高级配置)均导出 数据连接的密码加密导出,keytab 密钥路径不支持导出,迁移后需手动输入 |
| 服务器数据集 | 选择「服务器数据集」,列表可多选。支持导出:SQL 数据集、文件数据集、树数据集、JSON 数据集、内置数据集、程序数据集、关联数据集、存储过程。
|
3.2 选择同时导出的内容
支持同时导出超链跳转模板和同时导出权限配置。具体说明如下表所示:
| 设置项 | 说明 |
|---|---|
| 同时导出超链跳转模板 | 仅对「目录」资源类型生效:
注1:不支持网页框子模板和 JS 跳转的子模板。 注2:主模板为FVS模板时,不支持同时导出任何类型的子模板。 |
| 同时导出权限配置 | 仅对「目录」和「数据连接」资源类型生效: 1)目录
2)数据连接
|
3.3 导出的文件
导出后会生成文件到本地,文件名默认为 resource.zip

4. 资源导入前准备
4.1 导入前须知
FineReport工程的资源支持导入FineReport工程,或FineBI6.X及以下版本的工程,不支持导入FineBI7.0工程。
4.2 确认插件和驱动
1)若数据连接需依赖第三方插件,目前只支持迁移 JSON 数据集和 Mysql8 数据连接,其他插件类型不适配,会导入失败。
2)权限导出插件生成的服务器数据集,不支持迁移,会导入失败。
3)数据连接迁移只迁移配置。驱动jar包、kerberos认证文件、JNDI 配置文件等都不会迁移,需要手动配置/放置。
请在进行数据连接迁移前,确认正式工程下是否提前安装依赖的相关数据连接插件,否则将导致导入失败。
请在进行数据连接迁移前,确认正式工程下是否提前安装依赖的相关数据连接驱动,否则将导致导入的数据连接不可使用。
4.3 确认数据连接
若导出的目录模板依赖数据连接,请确保同时选中相关数据连接资源进行导出导入。否则请在资源迁移导入前,保证正式系统已创建好了数据连接,且该数据连接名需与测试系统一致,否则资源无法迁移成功。
若迁移的是服务器数据集创建的模板,则在迁移前需要保证正式系统上创建好相同名称的服务器数据集。
服务器数据集若依赖相关数据连接,请确认将相关数据连接导入正式工程,否则导入的服务器数据集无法使用。
4.5 迁移自定义地图
若模板中调用了自定义地图,需要将地图 json 文件拷贝到正式工程下。
在%FineReport%/webroot/WEB-INF/assets/map/image路径下,将需要迁移的 json 文件拷贝到正式工程对应路径下。
4.6 系统备份
资源导入前建议对测试系统和正式系统均进行 工程备份。
5. 资源导入
5.1 上传文件
管理员登录 FineReport 系统,选择「管理系统>智能运维>资源迁移>资源导入」,点击「上传文件」,上传导出的压缩文件。
注1:资源导入前建议进行 工程备份,其中备份迁移到的 MySQL 数据库需要选择 utf8_bin 的排序规则。
注2:单次只允许上传单个压缩文件。
注3:单次资源导入内容不可超出2GB,否则在导入资源时会报错:out of memoryerror。请少量多次分配导出和导入资源。

上传文件成功后,系统会获取导入文件所包含的资源,各资源类型的字段说明如下。
| 字段 | 说明 |
|---|---|
| 类型 |
|
| 平台路径 |
|
| 物理资源 |
|
| 权限信息 | 单击「详情」可查看权限信息,其中会提示是否有部门/角色/用户在被导入系统中缺失 |
| 导入方式 |
冲突检测范围:平台路径(路径冲突)、物理资源(目录/文件数据集的路径冲突) |

5.2 导入文件
勾选需要导入的资源,单击「导入」,单击「确定」。

若导入失败,页面显示失败原因;若导入成功,则资源即时生效。不同资源类型的常见失败原因如下:
| 资源类型 | 常见失败原因 |
|---|---|
| 目录 | 导出工程和导入工程中存在同名同路径但类型不同的资源 |
| 数据连接 | 导入了不支持的插件类型数据连接,或导入工程未安装对应插件 |
| 服务器数据集 | 导入了不支持的插件类型数据集,或导入工程未安装对应插件 |
