报表内置 HSQL 数据库 FineDB

  • 文档创建者:susie
  • 编辑次数:76次
  • 最近更新:Carly 于 2019-12-23
  • 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 数据连接,如下图所示:

    222

    具体连接信息如下表:

    value
    数据库others
    驱动器com.fr.third.org.hsqldb.jdbcDriver
    URL

    jdbc:hsqldb:file://${ENV_HOME}/embed/finedb/db

    注:Windows/Linux/Mac 通用

    用户名sa
    密码无需输入

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

    222

    注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

    如下图所示,将数据集中的数据列拖曳至模板中,并全部添加文本控件:

    222

    4.2 填报属性设置

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

    222

    4.3 修改数据

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

    222

    5. 注意事项

    5.1 FineDB 报错

    FineDB 数据库的表结构有问题或数据库字段不正确,会导致执行错误。
    解决方案:详情请参见文档 FineDB 报错说明

    5.2  FineDB 数据量过大

    问题描述:报表的 FineDB 过大,会导致决策平台运行变慢,或者引起其他异常。

    解决方案:详情请参见文档 FineDB 过大处理办法

    附件列表


    主题: 数据决策系统
    • 有帮助
    • 没帮助
    • 只是浏览