1. 概述
数据决策系统中除平台属性配置以外的所有信息,包括目录树设置、模板定时任务信息等,均存储于一个数据库中,我们称之为 FineDB 数据库。
FineReport 支持使用内置 FineDB 数据库或启用外接 FineDB 数据库。
2. 内置数据库
FineReport 报表工程内置了一个 HSQL 数据库,作为 FineDB 数据库。
2.1 存储位置
保存在 %FR_Home%/webapps/webroot/WEB-INF/embed 目录下。
2.2 数据库文件
文件名 | 是否必要 | 存放内容 |
---|---|---|
db.properties | 必要 | 存放 HSQL 数据库的属性 |
db.script | 必要 | 保存表及数据 |
db.data | 如有,则必要 | 包含缓存表的数据 |
db.lck | 可无 | 表示数据库处于打开状态 |
db.log | 可无 | 文件包含当前数据库的变更 |
db.lobs | 可无 | 保存某些类型的数据 |
db.tmp | 可无 | 临时文件目录 |
注:全新安装的设计器,仅存在 db.properties、db.script 等必有文件。
若数据库被使用,且表及数据修改了某些属性,其他文件会自动生成。
2.3 设计器连接 FineDB
注:「内置 FineDB 数据库」为HSQL数据库,使用时会建立内存数据库,数据量大时会占用大量内存
因此非必要请勿在 FineReport 工程中创建「内置 FineDB 数据库」的数据连接。
本文仅简介设计器连接内置 FineDB 数据库的方式,平台连接方式请参见文档: [平台] HSQL 数据连接 。
点击「服务器>定义数据连接」,新增一个 JDBC 数据连接,如下图所示:
具体连接信息如下表:
设置项 | 值 |
---|---|
数据库 | 选择「others」 |
驱动器 | 输入「com.fr.third.org.hsqldb.jdbcDriver」 |
URL | 输入「jdbc:hsqldb:file://${ENV_HOME}/embed/finedb/db」 注:Windows/Linux/Mac 通用 |
用户名 | 输入「sa」 |
密码 | 无需输入 |
新建一个数据库查询,在左侧的下拉框中选择 FineDB 数据连接,即可在列表框中看到所有 FineDB 里面所有的数据表,拖曳至右侧的 SQL 语句框中即可使用。
注:服务器添加 FineDB 数据连接后,务必控制 数据连接使用权限,否则存在被越权访问并修改配置数据库的风险。
3. 外接数据库
HSQL 数据库不能多线程访问,集群环境、数据量较大可能会导致 HSQL 数据库不稳定的情况。因此在企业正式工程中,推荐配置外接数据库。
外接数据库支持的类型和使用方式,请参见:配置外接数据库
如需调用外接数据库内的数据进行分析,请根据数据库类型选择合适的数据连接方式:数据连接支持范围
注:服务器添加 FineDB 数据连接后,务必控制 数据连接使用权限,否则存在被越权访问并修改配置数据库的风险。
4. FineDB 表
1)表结构简介
FineDB 数据库表内容请参见:FineDB 表结构
2)表字段修改
部分配置项无前台修改设置,需要修改 FineDB 数据库表字段来调整配置。
FineDB 数据库中存储在 fine_conf_entity 表中的字段可通过以下方案进行修改:
方案一:通过插件修改,详情请参见:fine_conf_entity可视化配置 。
方案二:通过填报修改,详情请参见:填报修改fine_conf_entity 。
禁止直接修改 FineDB 数据库文件,禁止通过第三方软件连接/修改 FineDB 数据库。