历史版本28 :FineDB 数据库简介 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

FineReport报表内置有一个hsql数据库finedb,这个数据库具体有什么作用呢?并且存放的是什么内容呢?

2. 解释说明编辑

2.1 存放位置及保存内容
finedb保存在%FR_Home%/WebReport/WEB-INF下,里面存储了op=fs数据决策系统中除平台属性配置以外的所有信息,包括目录树设置以及模板定时任务信息等等,平台属性配置信息保存在fsconfig.xml中。
2.2 包含的文件
db.properties:必有,存放hsql数据库的属性;
db.script:必有,保存表及数据;
db.data:必有,包含缓存表的数据;
db.lck:可无,表示数据库处于打开状态;
db.backup :必有,文件是最近持久化状态的表的数据文件的压缩备份文件;
db.log :可无,文件包含当前数据库的变更。
注:上述文件中除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输入emb:jdbc:hsqldb:file://${ENV_HOME}\finedb\dblinux系统和mac系统中为,emb:jdbc:hsqldb:file://${ENV_HOME}/finedb/db
用户名为sa,密码为空,如下图:

222

注:如果是想查看logdb数据库中的日志信息,只需要将URL换成emb:jdbc:hsqldb:file://${ENV_HOME}/logdb/db即可。
点击测试连接,即可连接成功。
新建一个数据库查询,在左侧的下拉框中选择,刚刚新建的数据连接,即可在列表框中看到所有finedb里面所有的数据表,拖曳至右侧的sql语句框中即可使用。

222

3.2 第三方工具连接方式

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

如果想要修改FR内置hsql数据库中的数据,只能通过填报模板进行数据修改,下面我们来修改一个数据决策系统中的用户名PUBLIC.FR_T_USER数据表里面的数据。
4.1 模板设计
新建数据集ds1:SELECT * FROM PUBLIC.FR_T_USER
如下图所示,将数据集中的数据列拖曳至模板中,并全部添加文本控件:
4.2 填报属性设置
点击模板>报表填报属性,添加一个内置sql,如下图,将数据列与单元格绑定,并设置ID为主键:

222

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

222