历史版本47 :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文件, 或者手动修改数据库表结构。
2.4 finedb时间长后数据量太大的处理方法

3. hsql数据库连接方式编辑

3.1 内置jdbc连接方式
点击服务器>定义数据连接,新增一个JDBC数据连接
数据库选择others
驱动器手动输入com.fr.third.org.hsqldb.jdbcDriver
URL输入:jdbc:hsqldb:file://${ENV_HOME}/embed/finedb/db(windows/linux/mac通用)
用户名为sa,密码为空,如下图:
222
点击测试连接,即可连接成功。
新建一个数据库查询,在左侧的下拉框中选择,刚刚新建的数据连接,即可在列表框中看到所有finedb里面所有的数据表,拖曳至右侧的sql语句框中即可使用。
222
3.2 第三方工具连接方式

4. 修改hsql数据库中数据编辑

如果想要修改FR内置hsql数据库中的数据,只能通过填报模板进行数据修改,下面我们来修改一个数据决策系统中的用户名PUBLIC.FINE_USER数据表里面的数据。
4.1 模板设计
新建数据集ds1:SELECT * FROM PUBLIC.FINE_USER
如下图所示,将数据集中的数据列拖曳至模板中,并全部添加文本控件:
222
4.2 填报属性设置
点击模板>报表填报属性,添加一个内置sql,如下图,将数据列与单元格绑定,并设置ID为主键:
222
4.3 修改数据
点击填报预览,将安娜的用户名修改为测试,提交入库,然后刷新页面,可以看到安娜的用户名被修改成了测试,如下图:
222

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_auth_preference 
 fine_backup_node 备份节点表
 fine_favorite_entry 收藏目录表
 fine_last_login 
 fine_base_message 平台消息主表
 fine_mobile_push_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批量导入

6. finedb数据库数据字典编辑

6.1 FS目录

FR_BIREPORTENTRY——BI的FS中的目录条目

  字段含义  
  ID  主键
  PARENT  父节点
  NAME  名称
  REPORTNAME  报表名称
  REPORTID  报表序号
  SYSTEMREPORT  系统报表
  DESCRIPTION  描述
  SORTINDEX  排序序号
  MOBILEDEVICECONFIG  终端展示配置
  PARENTDEVICECONFIG  父节点终端展示配置
  MOBILECOVERID  移动设备封面ID

FR_FILEENTRY——FS目录条目中的文件目录

  字段含义  
  ID  主键
  PARENT  父节点
  NAME  名称
  URI  链接
  DESCRIPTION  描述
  SORTINDEX  排序序号

FR_FOLDERENTRY——FS目录中的文件夹目录,有子节点的

  字段含义  
  ID  主键
  PARENT  父节点
  NAME  名称
  DESCRIPTION  描述
  SORTINDEX  排序序号
 MOBILEDEVICECONFIG   终端展示配置
  PARENTDEVICECONFIG  父节点终端展示配置
  MOBILECOVERID  移动设备封面ID

FR_REPORTLETENTRY——FS目录中的目录管理目录树

  字段含义  
  ID  主键
  PARENT  父节点
  NAME  名称
  REPORTLETPATH  报表路径
  DESCRIPTION  描述
  ISVIEW  是否是数据分析属性
  TRANSMITPARAMETERS  持久化的传输参数
  SORTINDEX  排序序号
  MOBILEDEVICECONFIG  终端展示配置
  PARENTDEVICECONFIG  父节点终端展示配置
  MOBILECOVERID  移动设备封面ID

FR_REPORTPROCESSENTRY——FS目录中的上报流程条目

  字段含义  
  ID  主键
  PARENT  父节点
  PROCESSTYPE  流程类别
  NAME  流程名称
  DESCRIPTION  描述
  SORTINDEX  排列序号
  MOBILEDEVICECONFIG  终端展示配置
  PARENTDEVICECONFIG   父节点终端展示配置
  MOBILECOVERID  移动设备封面ID

FR_URLENTRY——目录管理-链接的模板

  字段  含义
  ID  主键
  PARENT  父节点
  NAME  名称
  URL  链接
  DESCRIPTION  描述
  SORTINDEX  排序序号
  MOBILEDEVICECONFIG  终端展示配置
  PARENTDEVICECONFIG   父节点终端展示配置
  MOBILECOVERID  移动设备封面ID

6.2 定时任务

FR_SCHEDULE_ACTIONLIST——一个定时任务中的具体任务的信息(邮件、ftp、打印、自定义类等任务的id)

  字段含义  
  ID  主键
  EMAILID  邮件ID
  FTPID  FTPID
  PRINTID  打印ID
  CLASSID  自定义类ID
  PUSHID  推送消息ID
  EXTRAOUTPUTFILEACTIONS  扩展的ActionList
FR_SCHEDULE_EMAIL——定时任务中的邮件发送
字段  含义  
  ID  主键
  TOADDRESS  收件人
  CCADDRESS  抄送
  BCCADDRESS  密送
  SUBJECT  主题
  BODYCONTENT  内容
  CANPREVIEWATTACH  是否正文预览报表内容
  ISROLE  
FR_SCHEDULE_FTP——定时任务中的ftp任务
  字段  含义
  ID  主键
  SERVERADDRESS  服务器地址
  PORT  端口
  SAVEPATH  保存路径
  USERNAME  用户名
  PASSWORD  密码
FR_SCHEDULE_OUTPUT——定时任务中的导出
  字段含义  
  ID  主键
  BASE_NAME  文件名称
  DESCRIPTION  文件描述
 folderEntryName 挂载目录名
 notifyType 通知类型(挂载,短信,ftp,邮件等)
  FOLDERENTRYID  导出文件所在目录树的文件夹ID
  FORMAT  文件格式
  LISTID  关联表actionlist表id
  ISCREATECPRBYUSERNAME  是否按用户名生成附件
FR_SCHEDULE_PRINT——定时任务中的打印
  字段含义  
  ID  主键
  PRINTERNAME  打印机名称
FR_SCHEDULE_SAPSYN_TASK——SAP同步
字段    含义
  ID  主键
  NAME  任务名
  DESCRIPTION  描述
  REPEATTIME  任务中断后的重启频率
  REPEATTIMES  尝试同步最多次数
  COUNTS  总次数
  ITRIGGERID  触发器ID
  TASK_PARAMETERS  任务参数
  TRANSFERS  
FR_SCHEDULE_TASK——定时任务中的任务
 字段 含义  
  ID  主键
  NAME  任务名
  DESCRIPTION  描述
  ITRIGGERID  触发器ID
  SCHEDULEDOUPPUTID  定时任务导出ID
  REPORTLETPATH  报表路径
  SHOWTYPE   显示类型
  REPEATTIME  任务中断后的重启频率
  REPEATTIMES 尝试重启最多次数
  COUNTS 总次数
  EXECUTETYPE 执行类型
  EXECUTEFORMULA 执行条件中的公式
  EXECUTECLASS 自定义执行类
 fileClearCount  结果文件保留次数(-1 不清理 )
 triggerGroup  触发器组(示例:[{"dayType":1,"hours":12,"months":"3,6","minutes":2,"startType":1,"id":-1,"recurrenceType":"calendar"}])
 task_parameters 任务参数 (示例:[{"name":"地区","type":"String","value":"华东"}])
 userGroup 用户组 (示例:{"platformUser":"2,Alice,Anna","userType":0,"department":"-1,44,1076;-1,44,1077","customRole":""})
 isInTriggerOnceState 是否处于额外执行一次状态 默认为0
6.3 上报流程
FR_PROCESS_ALERT_TOAST——上报流程中的预警信息
  字段含义  
  ID  主键
  USERID  用户ID
  USERNAME  用户名
  MESSAGE  预警信息
  TOASTED  弹出状态
  DATETIME  日期
  URL  链接
  TASKID  任务ID 
  ALLTASKID  全部任务ID
  READED  消息处理标识
  CREATETIME  消息生成时间
  TYPE  消息类型
  DEADLINE  消息截止时间
  PROCESSID  进程序号
FR_PROCESS_STASH_DATA——上报流程中的数据暂存
  字段含义  
  ID  主键
  TASKID  任务ID
  USERID  用户ID
  REPORTPATH  报表路径
  DATA  数据
FR_PROCESS_TASK_IMPL——上报流程中的任务发下来的具体任务
  字段含义  
  ID  主键
  TASK_ID
 源task的id
  PROCESS_ID  流程id
  OPERATORJSON  Node上的第几个节点是多用户的
  REPORTOFFSET  第几个模板
  OPERATOROFFSET  多用户节点的第几个用户
  NEEDALLCOMPLETE  是否需要全部完成
  CURRENTNODEIDX  当前的流程节点id
  CREATETIME  创建时间,确切的说是下发的时间
  NOTE  备注
 STATE 任务状态
"//初始:-1;
// 等待上报:0;
// 等待审核:1;
// 审核通过:2;
// 被退回:3;
// 已经关闭:4;
// 超时:5;"
 SONTASKID 子任务的id    [{nodeIdx:0, userId:1, taskId:1}]
 SENDTIME 发送时间
 SENDERID 发送人id
 COMPLETESTATE 已经完成任务的用户 针对多用户的节点的    {"report1.cpt":{"user1":1, "user2":0}, {}}
 PARENTID 父任务id
 NODEROUTE 节点走过的路径,json
 ALERTED 是否进行过预警
 DEADLINE 截止时间 如果不设置为null
 SENDER 发送人
 OPERATOROFFSETNAME 多用户节点的第几个用户的名字
 FR_TASK_ID $fr_task_id的实际值
FR_REPORT_PROCESS——上报流程中的流程
  字段含义  
  ID  主键
  NAME  流程名称
  CREATORID  创建者ID
  NODESID  节点ID
  CREATETIME  创建时间
  DESCRIBE  描述
FR_REPORT_PROCESS_TASK——上报流程中的任务
  字段含义  
  ID  主键
  NAME  任务名称
  PROCESSID  流程ID
  CREATORID  创建者ID
  ISSUECONTROL  定时下发
  DEADLINEDATE  截止日期
  DEADLINETYPE  截止类型
  REMINDCONTROL  提醒方式
  CREATETIME  创建日期
  ISSUEOVER   是否下发结束
  PARENTID 父ID
  CREATORNAME 创建者名称
  LEAPFROGBACK 

6.4 FS用户和权限
FR_T_USER——用户表
字段  含义  
  ID  主键
  USERNAME  用户名
  PASSWORD  密码
  REALNAME  真实姓名
  MOBILE  电话
  EMAIL  邮箱
FR_T_DEPARTMENT——部门表
  字段  含义
  ID  主键
  PID  父ID
  NAME  部门名称
  DESCRIPTION  部门描述
FR_T_POST——职位表
字段  含义  
  ID  主键
  POSTNAME  职位名称
  DESCRIPTION  职位描述
FR_T_COMPANYROLE——公司部门角色表
  字段含义  
  ID  主键
  POSTID  职务ID
  DEPARTMENTID 部门ID
  DESCRIPTION  描述
FR_T_CUSTOMROLE——自定义角色表
字段    含义
  ID  主键
  ROLENAME  角色名称
  DESCRIPTION  描述
  SORTINDEX  排序序号
  ISSYNC  是否同步角色
FR_T_DEPARTMENT_POST_USER——部门角色对应的用户表
字段    含义
  ID  主键
  USERID  用户ID
  DEPARTMENTID  部门ID
  POSTID  职务ID
FR_T_CUSTOMROLE_USER——自定义角色对应的用户表
  字段含义  
  ID  主键
  USERID  用户ID
  CUSTOMROLEID  自定义角色ID
FR_T_COMPANYROLEENTRYPRIVILEGE——部门角色的预览fs目录的权限表
  字段含义  
  ID  主键
  ROLEID   角色ID
  TYPE  类型
  ENTRYID  报表ID
  VIEW  查看(0 不支持,1 支持,2 非完全支持 )
  AUTHORIZED  授权
  EDIT  编辑
FR_T_CUSTOMROLEENTRYPRIVILEGE——自定义角色预览fs目录的权限表
  字段含义  
  ID  主键
  ROLEID  角色ID
  TYPE  类型
  ENTRYID  报表ID
  VIEW  查看(0 不支持,1 支持,2 非完全支持 )
  AUTHORIZED  授权(0 不支持,1 支持,2 非完全支持 )
  EDIT  编辑(0 不支持,1 支持,2 非完全支持 )
FR_T_COMPANYROLEMODULEPRIVILEGE——部门角色预览平台管理模块的权限表
  字段含义  
  ID  主键
  ROLEID  角色ID
  MODULEID  模块ID
  VIEW  查看(0 不支持,1 支持,2 非完全支持 )
  AUTHORIZED  授权(0 不支持,1 支持,2 非完全支持 )
FR_T_CUSTOMROLEMODULEPRIVILEGE——自定义角色预览平台管理模块的权限表
  字段  含义
  ID  主键
  ROLEID  角色ID
  MODULEID  模块ID
  VIEW  查看(0 不支持,1 支持,2 非完全支持 )
  AUTHORIZED  授权(0 不支持,1 支持,2 非完全支持 )
FR_T_COMPANYROLEESPRIVILEGE——部门角色excel批量导入权限表
  字段  含义
  ID  主键
  ROLEID  角色ID
  TYPE  类型
  ENTRYID  报表ID
FR_T_CUSTOMROLEESPRIVILEGE——自定义角色excel批量导入权限表
  字段  含义
  ID  主键
  ROLEID  角色ID
  TYPE  类型
  ENTRYID  报表ID
FR_T_COMPANYROLEHOMEPAGEPRIVILEGE——部门角色首页权限表
字段    含义
  ID  主键
  ROLEID  角色ID
  HOMEPAGEID  主页ID
  VIEW  查看(0 不支持,1 支持,2 非完全支持 )
FR_T_CUSTOMROLEHOMEPAGEPRIVILEGE——自定义角色首页权限表
  字段含义  
  ID  主键
  ROLEID  角色ID
  HOMEPAGEID  主页ID
  VIEW  查看(0 不支持,1 支持,2 非完全支持 )
FR_T_COMPANYROLEDEPANDCROLEPRIVILEGE——部门角色可管理部门/自定义角色的权限表
  字段含义  
  ID  主键
  ROLEID  部门角色ID
  TYPE  可管理角色类型(1代表部门,2代表自定义角色)
  DEPORCROLEID  部门ID或者自定义角色ID(根据type字段确定)
FR_T_CUSTOMROLEDEPANDCROLEPRIVILEGE——自定义角色可管理部门/自定义角色的权限表
字段  含义  
   ID  主键
    ROLEID   自定义角色ID
  TYPE  可管理角色类型(1代表部门,2代表自定义角色)
   DEPORCROLEID   部门ID或者自定义角色ID(根据type字段确定)
FR_T_COMPANYROLETEMPLATEPRIVILEGE——部门角色模块权限表
字段    含义
  ID  主键
  ROLEID  部门角色ID
  PATH  模板路径
  PAGE  能否分页预览(0不支持,1支持)
  WRITE  能否填报预览(0不支持,1支持)
  DESIGN  能否远程设计(0不支持,1支持)
FR_T_CUSTOMROLETEMPLATEPRIVILEGE——自定义角色模块权限表
  字段含义  
  ID  主键
  ROLEID  自定义角色ID
  PATH  模板路径
  PAGE  能否分页预览(0不支持,1支持)
  WRITE  能否填报预览(0不支持,1支持)
  DESIGN  能否远程设计(0不支持,1支持)
FR_T_COMPANYROLEDATACONNECTIONPRIVILEGE——部门角色可管理数据连接的权限表
字段   含义  
  ID   主键
  ROLEID   部门角色ID
  NAME   数据连接名称
  VIEW   是否可查看(1代表可查看,不可查看的时候直接就是没有记录,正常情况下没有其他取值)
FR_T_CUSTOMROLEDATACONNECTIONPRIVILEGE——自定义角色可管理数据连接的权限表
字段  含义  
  ID  主键
  ROLEID  自定义角色ID
  NAME  数据连接名称
  VIEW  是否可查看(1代表可查看,不可查看的时候直接就是没有记录,正常情况下没有其他取值)
6.5 FS其他
FR_T_FAVORITENODE——FS的收藏
  字段含义  
  ID  主键
  USERID  用户ID
  TYPE  类型
  ENTRYID  入口ID
FR_T_HOMEPAGE——首页表
  字段含义  
  ID  主键
  NAME  名称
  URL  链接
  URL4PAD  PAD链接
  URL4PHONE  PHONE链接
  DESCRIPTION  描述
  SORTINDEX  排序序号

6.6 移动端
FR_SCHEDULE_WEIXIN_USERRELATION——微信插件,存储微信用户和报表用的配对信息
  字段  含义
  ID  主键
 WEIXINUSER 微信userid
 FSUSER 报表用户名
WEIXIN_AGENT——微信插件,存储微信应用配置
字段   含义 
  ID  主键
 AGENTNAME 应用名称
 CORPID 微信企业号
SECRET 应用秘钥
 TYPE 应用类型
FR_SCHEDULE_DINGTALK_USERRELATION——钉钉插件,存储钉钉用户和报表用户的配对信息
  字段  含义
  ID  主键
 DINGTALKUSER 钉钉工号
 FSUSER 报表用户名
CONTENT——存储定时调度-定时任务,客户端推送内容设置
  字段含义  
  ID  主键
 TITLE 推送的消息标题
 LINKTYPE 推送的链接类型
 WITHLINK 推送的链接
 CONTENT 推送的内容
 MEDIAID 推送的图片或者文件ID
 TYPE 推送的消息类型
PUSHMSG——存储定时调度-推送内容和ActionList配对信息
  字段含义  
  ID  主键
 CONTENTID CONTENT表主键
 ACTIONLISTID ACTIONLIST表主键
TERMINATE——定时调度客户端推送终端表
字段    含义
  ID  主键
 PUSHID PUSHMSG表主键
 TERMINATE 推送的终端类型
 AGENTID 推送的终端agentID (弃用)
 AGENTINDEX 如果有拓展的推送终端,指向拓展的推送终端表的主键

6.7 其他类型
FR_T_UDACRP——用户可管理的部门/角色对应的权限表
字段  含义  
  ID  主键
  userid  用户id
  type  根据type判断是部门角色还是普通角色
  deporcroleid  角色id
FR_T_UMP——用户模块权限表
字段  含义  
  ID  主键
  userid  用户id
  type  根据type判断是部门角色还是普通角色
  moduleid  模块id
FR_T_UEP——用户报表权限表
字段  含义  
  ID  主键
  userid  用户id
  type  根据type判断是部门角色还是普通角色
entryid  
 报表id
FR_T_PLATFORMMANAGEMODULE——平台管理项目表

  字段含义  
  ID  主键
  PARENTID  父ID
  NAME 项目名称,一般为国际化
 PRIORITY 菜单的优先级,可以使用次参数将菜单提前
 DESCRIPTION 项目描述
 HASINDEPENDENTAUTHORITY 是否有目录权限
FR_T_USERDEVICEINFO——用户设备表

  字段含义  
  ID  主键
  USERNAME  用户名
  MACADDRESS  MAC地址
  DEVICENAME  设备名称
  PASSED  设备是否有权限
FR_T_LASTLOGINEDINFO——登录信息表
字段  含义  
  ID  主键
  userId  用户id
  lastLoginedIp  最后登录IP
  city  城市
  lastLoginedAt  最后登录地点
FR_T_LOGINUSER——用户登陆白名单表 
  字段含义  
  ID  主键
  USERNAME  用户名
  loginType  登录类型(平台登录,移动端登录,所有登录场景)
FR_MESSAGE——平台消息表
  字段含义  
  ID  主键
  userId  用户id
  username  用户名
  message  消息内容
  toasted  消息弹出标识
  datetime  消息发送时间
  createTime  消息生成时间
  url  消息关联链接
  readed  消息已读标识
  type  消息类型
  title 消息标题
  terminal 消息终端类型
  senderId 消息发送者id
  groupId 消息分组id(移动端使用)

6.6 定时任务QRTZ相关补充说明
1)表关系图:
222
2)主要表的详细说明:
QRTZ_JOB_DETAILS:存储的是job的详细信息,包括:[DESCRIPTION]描述,[IS_DURABLE]是否持久化,[JOB_DATA]持久化对象等基本信息。
QRTZ_TRIGGERS:触发器信息,包含:job的名,组外键,[DESCRIPTION]触发器的描述等基本信息,还有[START_TIME]开始执行时间,[END_TIME]结束执行时间,[PREV_FIRE_TIME]上次执行时间,[NEXT_FIRE_TIME]下次执行时间,[TRIGGER_TYPE]触发器类型:simple和cron,[TRIGGER_STATE]执行状态:WAITING,PAUSED,ACQUIRED分别为:等待,暂停,运行中。
QRTZ_SCHEDULER_STATE:存储集群中note实例信息,quartz会定时读取该表的信息判断集群中每个实例的当前状态,INSTANCE_NAME:之前配置文件中org.quartz.scheduler.instanceId配置的名字,就会写入该字段,如果设置为AUTO,quartz会根据物理机名和当前时间产生一个名字。[LAST_CHECKIN_TIME]上次检查时间,[CHECKIN_INTERVAL]检查间隔时间。