历史版本51 :FineDB 数据库简介 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 描述编辑
FineReport报表内置有一个hsql数据库finedb,这个数据库具体有什么作用呢?并且存放的是什么内容呢?
2. 说明编辑
2.1 存放位置及保存内容
finedb保存在%FR_Home%/webapps/WEB-INF/embed下,里面存储了数据决策系统中除平台属性配置以外的所有信息,包括目录树设置以及模板定时任务信息等等。
2.2 包含的文件
db.properties:必有,存放hsql数据库的属性;
db.script:必有,保存表及数据;
db.lck:可无,表示数据库处于打开状态;
db.log :可无,文件包含当前数据库的变更。
db.lobs:可无,保存某些类型的数据
db.tmp:可无,临时文件目录
注:上述文件中除db.properties、db.script等必有外,其他文件默认没有,若数据库被使用,且表及数据修改了如配置了管理平台的某些属性,这些文件会自动生成。
2.3 hsql数据库出故障
内置hsql的表结构有问题或数据库字段不正确有可能会执行错误,如SetPrinterOffsetService.initDB会导致管理平台启动不了。
解决方案——删除hsql文件, 或者手动修改数据库表结构。
解决方案——删除hsql文件, 或者手动修改数据库表结构。
2.4 finedb时间长后数据量太大的处理方法
参考 finedb过大处理办法
3. hsql数据库连接方式编辑
3.1 内置jdbc连接方式
点击服务器>定义数据连接,新增一个JDBC数据连接
数据库选择;
驱动器手动输入com.fr.third.org.hsqldb.jdbcDriver;
URL输入:jdbc:hsqldb:file://${ENV_HOME}/embed/finedb/db(windows/linux/mac通用);
用户名为sa,密码为空,如下图:

点击测试连接,即可连接成功。
新建一个数据库查询,在左侧的下拉框中选择,刚刚新建的数据连接,即可在列表框中看到所有finedb里面所有的数据表,拖曳至右侧的sql语句框中即可使用。

更多查询语法可参见:报表日志logdb数据库。
3.2 第三方工具连接方式
4. 修改hsql数据库中数据编辑
如果想要修改FR内置hsql数据库中的数据,只能通过填报模板进行数据修改,下面我们来修改一个数据决策系统中的用户名PUBLIC.FINE_USER数据表里面的数据。
4.1 模板设计
新建数据集ds1:SELECT * FROM PUBLIC.FINE_USER
如下图所示,将数据集中的数据列拖曳至模板中,并全部添加文本控件:

4.2 填报属性设置
点击模板>报表填报属性,添加一个内置sql,如下图,将数据列与单元格绑定,并设置ID为主键:

4.3 修改数据
点击填报预览,将安娜的用户名修改为测试,提交入库,然后刷新页面,可以看到安娜的用户名被修改成了测试,如下图:

5. finedb数据库中表的含义编辑
5.1 权限
| 表名 | 表功能 |
|---|---|
| fine_custom_role | 自定义角色表 |
| fine_dep_role | 部门职务角色,这是一个中间表,连接了部门与职务 |
| fine_department | 部门表 |
| fine_extra_property | 记录一些额外的信息(目前只用来记录用户的额外信息) |
| fine_homepage_expand | 主页类型权限实体的扩展属性表 |
| fine_post | 职务表 |
| fine_user | 用户表 |
| fine_user_role_middle | 用户-角色中间表,用户通过该表关联到自定义角色和部门职务角色 |
| fine_authority | 权限表,记录所有权限值 |
| fine_authority_object | 权限实体表,记录所有用到权限的对象 |
5.2 定时调度
| 表名 | 表功能 |
|---|---|
| fine_schedule_output | 定时任务中的导出 |
| fine_schedule_record | 记录任务执行日志 |
| fine_schedule_task | 定时任务表 |
| fine_base_output | 任务附件处理主表 |
| fine_output_class | 自定义类处理 |
| fine_output_client_notice | 客户端通知 |
| fine_output_email | 推送邮件 |
| fine_output_ftp | ftp上传 |
| fine_output_mount | 挂载目录 |
| fine_output_platform_msg | 平台系统消息 |
| fine_output_print | 打印处理 |
| fine_output_sms | 发送短信 |
| fine_backup_node | 备份节点表 |
| fine_favorite_entry | 收藏目录表 |
| fine_base_message | 平台消息主表 |
| fine_process_message | 上报消息 |
| fine_system_message | 平台系统消息 |
| fine_block_ip | 记录访问报表拦截的信息 |
| fine_mobile_device | 移动端设备表 |
5.3 报表
| 表名 | 表功能 |
|---|---|
| fine_print_offset | 打印偏移 |
| fine_print_offset_ip_relate | 打印偏移ip关联表 |
| fine_param_template | 模板参数组合 |
| fine_remote_design_auth | 远程设计用户表 |
| fine_write_stash | 填报暂存表 |
| fine_process_expand | 上报流程类型权限实体的扩展属性表 |
| fine_report_expand | 报表类型权限实体的扩展属性表 |
| fine_excel_submit_task | excel批量导入 |
5.4 配置
| 表名 | 表功能 |
|---|---|
| fine_conf_classname | 配置类的字段是接口类型的情况下,记录其类型 |
| fine_conf_entity | 存储配置类中的数据 |
| fine_conf_xmlentity | 有些字段的结构及其复杂,为了将其存储到数据库中,存储成xml的方式 |
5.5 Quartz模块 (不允许修改)
| 表名 | 表功能 |
|---|---|
| qrtz_blob_triggers | 以Blob 类型存储的触发器 |
| qrtz_calendars | 存放日历信息, quartz可配置一个日历来指定一个时间范围 |
| qrtz_cron_triggers | 存放cron类型的触发器 |
| qrtz_fired_triggers | 存放已触发的触发器 |
| qrtz_job_details | 存放一个jobDetail信息 |
| qrtz_simple_triggers | 简单触发器的信息 |
| qrtz_triggers | 触发器的基本信息 |
5.6 Swift模块(不允许修改)
| 表名 | 表功能 |
|---|---|
| fine_swift_col_idx_conf | 字段索引配置 |
| fine_swift_config_entity | swift内部配置表 |
| fine_swift_metadata | 用于存放数据表元数据 |
| fine_swift_seg_location | Swift Segment分布信息 |
| fine_swift_segments | Swift Segment详细信息 |
| fine_swift_service_info | 保存Swift服务信息 |
| fine_swift_tab_idx_conf | 表索引配置 |
| fine_swift_table_path | Cube中间目录配置管理 |
6. finedb数据库数据字典编辑
6.1 权限
fine_custom_role——自定义角色表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| creationType | 创建类型(管理员手动创建、同步数据集创建) |
| description | 描述信息 |
| enable | 是否启用 |
| lastOperationType | 最后修改类型(管理员手动修改、同步数据集修改) |
| name | 名称 |
fine_dep_role——部门职务角色,这是一个中间表,连接了部门与职务
| 字段 | 含义 |
|---|---|
| id | 主键 |
| creationType | 创建类型(管理员手动创建、同步数据集创建) |
| lastOperationType | 最后修改类型(管理员手动修改、同步数据集修改) |
| departmentId | 所关联的部门id |
| postId | 所关联的职务id |
fine_department——部门表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| creationType | 创建类型(管理员手动创建、同步数据集创建) |
| description | 描述信息 |
| enable | 是否启用 |
| lastOperationType | 最后修改类型(管理员手动修改、同步数据集修改) |
| name | 名称 |
| parentId | 所关联的父部门id |
fine_extra_property——记录一些额外的信息(目前只用来记录用户的额外信息)
| 字段 | 含义 |
|---|---|
| id | 主键 |
| name | 属性名称 |
| relatedId | 所关联的数据项id(用户id) |
| type | 所关联的数据项类型 |
| value | 属性值 |
fine_homepage_expand——主页类型权限实体的扩展属性表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| androidPadHomePage | 用于Android平板的主页链接 |
| androidPhoneHomePage | 用于Android手机的主页链接 |
| iPadHomePage | 用于iPad的主页链接 |
| iPhoneHomePage | 用于iPhone的主页链接 |
| pcHomePage | 用于PC的主页链接 |
| type | 主页类型(url类型主页、报表类型主页等) |
fine_post——职务表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| creationType | 创建类型(管理员手动创建、同步数据集创建) |
| description | 描述信息 |
| enable | 是否启用 |
| lastOperationType | 最后修改类型(管理员手动修改、同步数据集修改) |
| name | 名称 |
fine_user——用户表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| birthday | 生日 |
| creationType | 创建类型(管理员手动创建、同步数据集创建) |
| description | 描述信息 |
| enable | 是否启用 |
| lastOperationType | 最后修改类型(管理员手动修改、同步数据集修改) |
| 邮箱 | |
| language | 语言 |
| male | 性别 |
| mobile | 手机号 |
| password | 密码 |
| realName | 真实姓名 |
| userName | 用户名 |
| workPhone | 工作手机号 |
fine_user_role_middle——用户-角色中间表,用户通过该表关联到自定义角色和部门职务角色
| 字段 | 含义 |
|---|---|
| id | 主键 |
| roleId | 所关联的角色id |
| roleType | 所关联的角色类型(自定义角色、部门职务角色) |
| userId | 所关联的用户id |
fine_authority——权限表,记录所有权限值
| 字段 | 含义 |
|---|---|
| id | 主键 |
| authority | 权限值(允许、拒绝) |
| authorityEntityId | 所关联的权限实体id |
| authorityEntityType | 所关联的权限实体类型(默认类型、分级管理员类型等) |
| authorityType | 权限类型(查看、编辑等) |
| roleId | 所关联的角色id |
| roleType | 所关联的角色类型(用户角色、自定义角色、部门职务角色) |
fine_authority_object——权限实体表,记录所有用到权限的对象
| 字段 | 含义 |
|---|---|
| id | 主键 |
| expandId | 所关联的扩展属性记录id |
| expandType | 所关联的扩展属性类型(主页扩展类型、模版扩展类型等) |
| parentId | 所关联的父节点id |
| coverId | 封面id |
| description | 描述信息 |
| deviceType | 显示类型(PC,手机、平板) |
| displayName | 显示名称 |
| icon | 图标id |
| path | 路径 |
| sortIndex | 排序顺序 |
6.2 定时任务
fine_schedule_output——定时任务中的导出
| 字段 | 含义 |
|---|---|
| id | 主键 |
| baseName | 生成附件名称 |
| createAttachByUsername | 是否按不同用户生成不同附件 |
| formats | 导出附件类型 |
fine_schedule_record——记录任务执行日志
fine_schedule_task——定时任务表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| creator | 任务创建者 |
| detailMessage | 详细信息 |
| filePath | 生成附件路径(预留字段,未使用) |
| taskName | 任务名称 |
| runType | 附件处理类型 |
| nextFireTime | 下次执行时间(预留字段,未使用) |
| logType | 日志类型(成功,失败,跳过) |
| logTime | 任务执行时间(日志打印时间) |
fine_schedule_task——定时任务表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| taskName | 任务名称 |
| creator | 任务创建者 |
| editable | 任务是否可编辑(预留字段,未使用) |
| scheduleOutput | 关联外键(fine_schedule_output) |
| userGroup | 用户组 |
| triggerGroup | 触发器组 |
| templatePath | 模板路径 |
| taskParameter | 模板参数 |
| taskState | 任务状态(运行中,暂停,结束) |
| taskType | 任务类型(fr,bi) |
| taskDescription | 任务描述(预留字段,未使用) |
| showType | 模板预览类型 |
| taskCondition | 任务执行条件 |
| sendBackupFile | (预留字段,未使用) |
| repeatTime | 任务失败重启时间间隔 |
| repeatTimes | 任务失败重启次数 |
| preFireTime | 上次执行时间 |
| nextFireTime | 下次执行时间 |
| outputStr | 附件处理类型 |
fine_base_output——任务附件处理主表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| actionName | 附件处理类名 |
| executeByUser | 是否按不同用户分别执行 |
| resultUrl | 结果链接 |
| runType | 附件处理类型 |
| outputId | 外键关联(fine_schedule_output) |
fine_output_class——自定义类处理
| 字段 | 含义 |
|---|---|
| id | 主键 |
| className | 自定义类名 |
fine_output_client_notice——客户端通知
| 字段 | 含义 |
|---|---|
| id | 主键 |
| addressee | 接收人 |
| content | 内容 |
| customizeLink | 自定义链接 |
| linkOpenType | 链接类型 |
| mediaId | 富文本消息的图片id |
| subject | 主题 |
| terminal | 推送终端 |
| type | 消息类型 |
fine_output_email——推送邮件
| 字段 | 含义 |
|---|---|
| id | 主键 |
| addLink | 结果链接 |
| bccAddress | 密送 |
| ccAddress | 抄送 |
| bodyContent | 内容 |
| subject | 主题 |
| userAttach | 使用附件 |
| previewAttach | 正文预览 |
fine_output_ftp——ftp上传
| 字段 | 含义 |
|---|---|
| id | 主键 |
| serverAddress | ftp服务器地址 |
| username | 账号 |
| password | 密码 |
| port | 端口 |
| savePath | 上传路径 |
fine_output_mount——挂载目录
| 字段 | 含义 |
|---|---|
| id | 主键 |
| folderEntryID | 挂载到目录节点id |
| folderEntryName | 生成的目录节点名称 |
| folderEntryStr | 挂载到目录节点名称 |
| description | 描述 |
fine_output_platform_msg——平台系统消息
| 字段 | 含义 |
|---|---|
| id | 主键 |
| subject | 消息主题 |
| content | 消息内容 |
| linkOpenType | 平台内打开 |
fine_output_print——打印处理
| 字段 | 含义 |
|---|---|
| id | 主键 |
| printerName | 打印机名称 |
fine_output_sms——发送短信
| 字段 | 含义 |
|---|---|
| id | 主键 |
| templateID | 短信模板id |
6.3 平台
fine_backup_node——备份节点表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| backupModule | 备份模块 |
| backupModuleName | 备份名称 |
| backupTime | 备份时间 |
| savePath | 备份路径 |
| backupSize | 备份文件的大小 |
fine_favorite_entry——收藏目录表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| entryId | 收藏的目录id |
| userId | 收藏目录的用户id |
| time | 收藏时间 |
fine_base_message——平台消息主表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| createTime | 消息创建时间 |
| message | 消息内容 |
| readed | 是否已读 |
| toasted | 是否已弹窗 |
| type | 消息类型 |
| url | 消息链接 |
| urlType | 消息链接类型 |
| userId | 用户id |
fine_process_message——上报消息
| 字段 | 含义 |
|---|---|
| id | 主键 |
| allTaskId | 全部任务id |
| deadLine | 结束时间 |
| processed | 是否完成 |
| taskId | 上报任务id |
fine_system_message——平台系统消息
| 字段 | 含义 |
|---|---|
| id | 主键 |
| title | 消息标题 |
| terminal | 设备 |
fine_block_ip——记录访问报表拦截的信息
| 字段 | 含义 |
|---|---|
| ip | 拦截ip |
| createTime | 首次加入拦截的时间 |
| rejectedVisits | 拦截访问次数 |
fine_mobile_device——移动端设备表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| username | 关联的用户名 |
| macAddress | 设备mac地址 |
| deviceName | 设备名称 |
| passed | 设备是否通过认证 |
| createDate | 设备添加日期 |
| updateDate | 设备修改日期 |
6.4 报表
fine_print_offset——打印偏移
| 字段 | 含义 |
|---|---|
| ip | 客户端ip地址 |
| cptName | 模板名称 |
| offsetX | 横向偏移量 |
| offsetY | 纵向偏移量 |
| sign | 偏移选项(0-不偏移,1-全局配置,2-单模板配置) |
fine_print_offset_ip_relate——打印偏移ip关联表
| 字段 | 含义 |
|---|---|
| motherID | 对应打印偏移表的id字段 |
| childIP | 关联客户端ip |
fine_param_template——模板参数组合
| 字段 | 含义 |
|---|---|
| templateid | 模板id |
| username | 用户名 |
| tpgroup | 参数组合 |
fine_remote_design_auth——远程设计用户表
| 字段 | 含义 |
|---|---|
| userId | 用户id |
| userName | 用户名 |
| path | 有远程设计权限的路径 |
| pathType | 路径类型 0-文件,1-文件夹 |
fine_write_stash——填报暂存表
| 字段 | 含义 |
|---|---|
| username | 用户名 |
| reportPath | 模板路径 |
| data | 暂存数据 |
fine_process_expand——上报流程类型权限实体的扩展属性表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| processType | 上报流程类型 |
fine_report_expand——报表类型权限实体的扩展属性表
| 字段 | 含义 |
|---|---|
| id | 主键 |
| showType | 预览类型(分页预览、填报预览等) |
| transmitParameters | 自定义的一些预览参数 |
fine_excel_submit_task——excel批量导入
| 字段 | 含义 |
|---|---|
| name | 任务名字 |
| reportPath | 模板路径 |
| createTime | 创建时间 |
| submitTime | 提交时间 |
| description | 任务描述 |
6.5 配置
fine_conf_classname——配置类的字段是接口类型的情况下,记录其类型
| 字段 | 含义 |
|---|---|
| id | 当前字段在配置中的位置 |
| className | 字段类型 |
fine_conf_entity——存储配置类中的数据
| 字段 | 含义 |
|---|---|
| id | 数据在配置中的位置 |
| value | 数据值 |
fine_conf_xmlentity——有些字段的结构及其复杂,为了将其存储到数据库中,存储成xml的方式
| 字段 | 含义 |
|---|---|
| id | 数据在配置中的位置 |
| value | 该字段的xml文本值 |
6.6 Quartz模块(不允许修改)
qrtz_blob_triggers——以Blob 类型存储的触发器
| 字段 | 含义 |
|---|---|
| SCHED_NAME | QuartzScheduler |
| TRIGGER_GROUP | 触发器组 |
| TRIGGER_NAME | 触发器名称 |
| BLOB_DATA | 任务数据 |
qrtz_calendars——存放日历信息, quartz可配置一个日历来指定一个时间范围
| 字段 | 含义 |
|---|---|
| CALENDAR_NAME | 日历名称 |
| SCHED_NAME | QuartzScheduler |
| CALENDAR | 日历信息 |
qrtz_cron_triggers——存放cron类型的触发器
| 字段 | 含义 |
|---|---|
| SCHED_NAME | QuartzScheduler |
| TRIGGER_GROUP | 触发器组 |
| TRIGGER_NAME | 触发器名称 |
| CRON_EXPRESSION | cron表达式 |
| TIME_ZONE_ID | 时区 |
qrtz_fired_triggers——存放已触发的触发器
| 字段 | 含义 |
|---|---|
| SCHED_NAME | QuartzScheduler |
| TRIGGER_GROUP | 触发器组 |
| TRIGGER_NAME | 触发器名称 |
qrtz_job_details——存放一个jobDetail信息
| 字段 | 含义 |
|---|---|
| JOB_GROUP | 任务组 |
| SCHED_NAME | QuartzScheduler |
| JOB_NAME | 任务名称 |
| DESCRIPTION | 描述 |
qrtz_simple_triggers——简单触发器的信息
| 字段 | 含义 |
|---|---|
| SCHED_NAME | QuartzScheduler |
| TRIGGER_GROUP | 触发器组 |
| TRIGGER_NAME | 触发器名称 |
| REPEAT_COUNT | 重复次数 |
| REPEAT_INTERVAL | 重复时间间隔 |
qrtz_triggers——触发器的基本信息
| 字段 | 含义 |
|---|---|
| SCHED_NAME | QuartzScheduler |
| TRIGGER_GROUP | 触发器组 |
| TRIGGER_NAME | 触发器名称 |
| START_TIME | 开始时间 |
| END_TIME | 结束时间 |
| TRIGGER_TYPE | 触发器类型 |
| TRIGGER_STATE | 触发器状态 |
| NEXT_FIRE_TIME | 下次执行时间 |
| PREV_FIRE_TIME | 上次执行时间 |
| JOB_GROUP | 任务组 |
| JOB_NAME | 任务名称 |
6.7 Swift模块(不允许修改)
fine_swift_col_idx_conf——字段索引配置
| 字段 | 含义 |
|---|---|
| tableKey | 数据表SourceKey |
| columnName | 字段名 |
| requireIndex | 是否生成索引 |
| requireGlobalDict | 是否生成全局索引 |
fine_swift_config_entity——swift内部配置表
| 字段 | 含义 |
|---|---|
| configKey | 配置所在的位置 |
| configValue | 配置值 |
fine_swift_metadata——用于存放数据表元数据
| 字段 | 含义 |
|---|---|
| id | 数据表算出来的SourceKey |
| swiftSchema | 数据文件存放位置(CUBE / LOG等) |
| schemaName | 数据库表的schema |
| tableName | 表名 |
| remark | 转译名 |
| fields | 字段信息 |
fine_swift_seg_location——Swift Segment分布信息
| 字段 | 含义 |
|---|---|
| clusterId | 集群ID |
| segmentId | 生成的segment ID |
| sourceKey | 数据表SourceKey,表示segment 属于哪个表 |
fine_swift_segments——Swift Segment详细信息
| 字段 | 含义 |
|---|---|
| id | 生成的segment ID |
| segmentOwner | 数据表SourceKey,表示segment 属于哪个表 |
| segmentOrder | Segment序号 |
| storeType | 数据保存类型 |
| segmentUri | 数据文件的相对URI |
| swiftSchema | 数据文件存放目录(CUBE / LOG等) |
fine_swift_service_info——保存Swift服务信息
| 字段 | 含义 |
|---|---|
| id | Service ID |
| service | 服务类型(查询、导入、历史、实时等服务) |
| cluster_id | 集群ID |
| service_info | 服务的其他信息 |
| is_singleton | 是否只启动一个 |
fine_swift_tab_idx_conf——表索引配置
| 字段 | 含义 |
|---|---|
| tableKey | 表SourceKey |
| allotRule | 分块逻辑 |
fine_swift_table_path——Cube中间目录配置管理
| 字段 | 含义 |
|---|---|
| clusterId | 集群ID 单机为LOCAL |
| tablePath | 当前使用的中间目录 |
| lastPath | 上次使用的临时目录 |
| tmpDir | 生成Cube时使用的中间目录 |

