1. 概述
1.1 版本
报表服务器版本 |
---|
11.0 |
1.2 应用场景
平台中的大部分的配置项都存储在 FineDB 中的 FINE_CONF_ENTITY 表中。
部分配置项未提供前台配置界面,或无法通过 fine_conf_entity可视化配置 进行修改,只能通过修改 FINE_CONF_ENTITY 表的方式进行更改。
注1:修改 FineDB 文件,有可能造成不可修复的 BUG,因此非必要请勿修改 FineDB 文件。
注2:请优先使用前台配置界面或 fine_conf_entity可视化配置 方式修改配置项。
注3:FINE_CONF_ENTITY 表中部分配置项的值固定,不支持修改,即使成功进行了填报修改,也会按照原固定逻辑生效。
1.3 功能简介
本文通过一个简单的示例来介绍如何通过填报的方式修改 FINE_CONF_ENTITY 的表字段。
示例:
修改 FineDB 中 FINE_CONF_ENTITY 表中的「CustomConfig.printWidget」字段,将字段值改为「true」。
步骤:
1)备份平台配置。
2)连接 FineDB 数据库,用于获取需要修改的 FINE_CONF_ENTITY 表。
3)新建一张填报模板,用于填报修改 FINE_CONF_ENTITY 的表字段。
4)修改表字段,并提交入库到 FineDB 中。
5)重启工程。
2. 备份平台配置
注:若用户无法登录数据决策系统,可前往工程%FR _HOME%/webapps/webroot/WEB-INF/embed文件夹下,手动备份 finedb 文件。
建议在修改 FINE_CONF_ENTITY 的表字段前,通过手动或自动的方式备份平台配置项,备份方式请参考:备份还原 。
以手动备份平台配置为例,管理员登录数据决策系统,在「管理系统>智能运维>备份还原>平台配置」中选中手动备份。
默认备份路径为:../backup,备份文件储存在工程的 %FR_HOME%/webapps/webroot/backup 文件夹下,如下图所示:
3. 新建数据连接
3.1 获取 FineDB 数据库信息
管理员登录数据决策系统,点击「管理系统>系统管理>常规」。
若外接数据库显示「待配置」,则 FineDB 数据库信息可参见 FineDB 数据库简介。
若外接数据库显示「已配置」,点击即可查看外接 FineDB 数据库的信息。
3.2 连接 FineDB 数据库
新建一个数据连接,数据连接名称为 FineDB,数据库相关配置信息可根据 3.1 节获取。如下图所示:
注1:「内置 FineDB 数据库」为HSQL数据库,使用时会建立内存数据库,数据量大时会占用大量内存
因此非必要请勿在 FineReport 工程中创建「内置 FineDB 数据库」的数据连接。
注2:本文仅简介设计器连接内置 FineDB 数据库的方式,平台连接方式请参见文档: [平台] HSQL 数据连接 。
具体连接信息如下表:
设置项 | 值 |
---|---|
数据库 | others |
驱动器 | com.fr.third.org.hsqldb.jdbcDriver |
URL | jdbc:hsqldb:file://${ENV_HOME}/embed/finedb/db 注:Windows/Linux/Mac 通用 |
用户名 | sa |
密码 | 无需输入 |
注:服务器添加 FineDB 数据连接后,务必控制 数据连接使用权限,否则存在被越权访问并修改配置数据库的风险。
4. 新建填报模板
新建一张填报模板,用于填报修改 FINE_CONF_ENTITY 的表字段。
4.1 数据准备
新建数据查询 ds1,选择数据连接为 FineDB,输入 SQL 语句:SELECT * FROM PUBLIC.FINE_CONF_ENTITY WHERE ID ='CustomConfig.printWidget',获取需要修改的表字段。如下图所示:
4.2 设计报表
1)设置主体内容
新建一张普通报表,设置 A2~B2 单元格纵向扩展,B2 单元格的左父格为 A2 单元格。模板样式如下图所示:
2)设置填报控件
由于需要填报修改「CustomConfig.printWidget」字段,因此需要设置 B2 单元格为文本控件。如下图所示:
4.3 设置填报属性
点击菜单栏「模板>报表填报属性>提交」,新增「内置SQL」。
1)选择数据库为「FineDB」,表为「FINE_CONF_ENTITY」。
2)将单元格与数据库表中的数据列进行绑定,并选择「ID」作为主键。如下图所示:
5. 修改表字段
1)点击「保存」按钮,保存报表。点击「下拉框」,选择「填报预览」查看报表。
2)将「CustomConfig.printWidget」字段值由「false」修改为「true」。
点击「提交」,弹窗提示「成功」后,修改后的数据已经入库 FineDB。如下图所示:
3)填报提交成功后,重启工程,配置生效。
重启步骤请参见:关闭或重启FineReport工程 。
6. 效果预览
在数据查询 ds1 中,点击「预览」,FINE_CONF_ENTITY 表中「CustomConfig.printWidget」字段值已修改为「true」。如下图所示:
7. 注意事项
7.1 还原平台配置
若用户在修改字段值后未出现预期效果,想要还原平台配置,可登录数据决策系统对本文第二节的备份文件进行还原,详情请参考:还原 。
7.2 修改后无法登录数据决策系统
注:如果用户在修改表字段前无法登录数据决策系统,使用以下步骤重置平台配置无效。
如果出现在修改 FINE_CONF_ENTITY 表字段前能够正常登录数据决策系统,修改后无法登录或无法填报预览模板的情况,可参考以下步骤重置平台配置:
1)根据第二节设置的备份路径,找到备份 finedb 文件,并替换现有 finedb 文件,即可还原平台配置。
以手动备份为例,在%FR_HOME%/webapps/webroot/backup/config/manual下,根据文件夹的名字(备份时间),找到备份的内容,将备份的 config.zip 解压得到的 finedb,替换%FR _HOME%/webapps/webroot/WEB-INF/embed下的 finedb 文件。
2)重启工程。