1. 概述编辑
FineReport 报表内置了一个 HSQL 数据库 FineDB,本文将简单介绍该数据库的作用、连接方式等。
2. FineDB 数据库简介编辑
2.1 存放位置
FineDB 数据库保存在 %FR_Home%/webapps/WEB-INF/embed 目录下。
2.2 数据库表内容
FineDB 数据库存储了数据决策系统中除平台属性配置以外的所有信息,包括目录树设置、模板定时任务信息等。
FineDB 数据库表内容请参见:FineDB 表结构
注:9.0 版本与 10.0 版本的 FineDB 表结构有较大差异,9.0 版本的 FineDB 表结构请参照 9.0 版本内置 HSQL 数据库 finedb。
2.3 数据库文件
文件名 | 是否必要 | 存放内容 |
---|---|---|
db.properties | 必要 | 存放 HSQL 数据库的属性 |
db.script | 必要 | 保存表及数据 |
db.lck | 可无 | 表示数据库处于打开状态 |
db.log | 可无 | 文件包含当前数据库的变更 |
db.lobs | 可无 | 保存某些类型的数据 |
db.tmp | 可无 | 临时文件目录 |
注:全新安装的设计器,仅存在 db.properties、db.script 等必有文件。
若数据库被使用,且表及数据修改了某些属性,其他文件会自动生成。
3. FineDB 数据连接编辑
3.1 设计器连接方式
点击服务器>定义数据连接,新增一个 JDBC 数据连接,如下图所示:
具体连接信息如下表:
value | 值 |
---|---|
数据库 | others |
驱动器 | com.fr.third.org.hsqldb.jdbcDriver |
URL | jdbc:hsqldb:file://${ENV_HOME}/embed/finedb/db 注:Windows/Linux/Mac 通用 |
用户名 | sa |
密码 | 无需输入 |
新建一个数据库查询,在左侧的下拉框中选择 finedb 数据连接,即可在列表框中看到所有 FineDB 里面所有的数据表,拖曳至右侧的 SQL 语句框中即可使用。
注1:服务器添加 FineDB 数据连接后,务必控制 数据连接的权限,否则存在被越权访问并修改配置数据库的风险。
注2:更多查询语法可参见:报表日志 LogDB 数据库。
3.2 平台连接方式
详情请参见文档: [平台] HSQL 数据连接。
3.3 第三方工具连接方式
详情请参见文档: 如何使用第三方管理软件连接报表内置 HSQL 数据库 FineDB。
4. 修改 FineDB 数据库编辑
用户可通过 填报模板 修改 FineDB 数据库中的数据,下文简单举例,修改数据决策系统中的用户名数据表 PUBLIC.FINE_USER 里面的数据。
4.1 模板设计
新建数据集 ds1:SELECT * FROM PUBLIC.FINE_USER
如下图所示,将数据集中的数据列拖曳至模板中,并全部添加文本控件:
4.2 填报属性设置
点击模板>报表填报属性,添加一个内置 SQL,如下图,将数据列与单元格绑定,并设置 ID 为主键,如下图所示:
4.3 修改数据
点击填报预览,将安娜的用户名修改为测试,提交入库,然后刷新页面,可以看到安娜的用户名被修改成了测试,如下图所示:
5. 注意事项编辑
5.1 FineDB 报错
FineDB 数据库的表结构有问题或数据库字段不正确,会导致执行错误。
解决方案:详情请参见文档 FineDB 报错说明。
5.2 FineDB 数据量过大
问题描述:报表的 FineDB 过大,会导致决策平台运行变慢,或者引起其他异常。
解决方案:详情请参见文档 FineDB 过大处理办法。