使用第三方管理软件连接 FineDB

  • 文档创建者:macro_hard
  • 编辑次数:16次
  • 最近更新:RosieY 于 2020-09-23
  • 1. 概述

    1.1 问题描述

    FineReport 内置的数据库 FineDB 为 HSQL 数据库,通过设计器或平台连接后可以查询或修改数据。

    设计器连接:报表内置 HSQL 数据库 FineDB,平台连接:[平台]HSQL 数据连接

    设计器或平台中连接 FineDB 后,对 FineDB 库中的表做一些简单查询尚可,若要对数据做一些复杂处理,就很不方便。

    1.2 解决方案

    使用 DBeaver、SQuirreL SQL Client 等第三方数据库管理软件,连接 HSQL 数据库,从而达到便捷处理数据的目的。

    2. 示例

    下面在 Windows 环境下,使用 DBeaver 数据库管理软件(7.0 版本)连接内置数据库 FineDB ,示例连接过程。

    注:使用 DBeaver 数据库管理软件连接内置数据库 FineDB 时,需要先暂停 Tomcat  Web服务,否则服务独占 FineDB 数据库会影响连接。

    2.1 准备软件

    1)下载  DBeaver 数据库管理软件并安装。下载地址可参考:DBeaver 下载

    注:若高版本 dbeaver 连接时出现找不到驱动问题,建议下载安装低版本的 dbeaver 。

    2.2 新建驱动

    1)启动 DBeaver,在菜单栏中点击「数据库」,选择「驱动管理器」,如下图所示:

    2020-09-23_11-23-58.jpg

    2)在弹出的「驱动管理器」窗口中选中 HSQLDB,点击「新建」按钮,如下图所示:

    2020-09-23_11-29-35.jpg

    3)在弹出的「创建新驱动」窗口中进行驱动配置,在「设置」区域填写驱动接口信息,如下图所示:

    驱动名称: finedb

    类名:com.fr.third.org.hsqldb.jdbcDriver

    URL模板:jdbc:hsqldb:file:{folder}\db

    注:如果是在 Mac 系统环境下,URL 模板要修改下斜杠:jdbc:hsqldb:file:{folder}/db

    image.png

    4)驱动接口填写完成后,在下方「库」位置添加驱动文件,点击「添加文件」按钮,添加%FR_HOME%\webapps\webroot\WEB-INF\lib 目录下 fine-third-10.0.jar 文件,如下图所示:

    注:fine-third-10.0.jar 的版本必须与连接的 FineDB 所在工程版本一致,否则会破坏 db.properties 和 db.script 文件,导致第三方管理软件无法连接 FineDB。

    2020-09-23_13-50-06.jpg

    3)添加驱动文件后,点击「确定」按钮,添加驱动完成,如下图所示:

    image.png

    2.3 新建连接

    1)在菜单栏中点击「数据库」,选择「新建连接」,如下图所示:

    2020-09-23_13-57-35.jpg

    2)在弹出的「创建新连接」窗口中,点击「ALL」展开,选中在步骤 2.2 节中创建的 FineDB 驱动,点击下一步,如下图所示:

    2020-09-23_14-06-33.jpg

    3)点击「浏览」按钮,在%FR_HOME%\webapps\webroot\WEB-INF\embed 目录下选择 FineDB 数据库文件,如下图所示:

    2020-09-23_14-09-54.jpg

    4)数据库选择完成后,在用户名处填入 sa,点击「完成」按钮,完成数据连接,如下图所示:

    image.png

    2.4 连接数据库

    5)完成数据连接后,在左边「数据库导航窗」可以看到新创建的数据连接 「finedb-finedb」,双击「finedb-finedb」就可以连接数据库了。展开「PUBLIC」可以看到内置数据库 FineDB 中的相关数据库表,如下图所示:

    image.png

    2.5. 应用举例

    1)连接数据库后,点击菜单栏「SQL编辑器」,新建 SQL 脚本,查询 FineDB 数据库中的 FINE_AUTHORITY 表,查询结果如下图所示:

    2020-09-23_14-32-46.jpg

    2)鼠标右键「PUBLIC」,点击「查看Schema」,在右边标签页选择「ER图」,可以看到 「PUBLIC」库中表之间的关联图,如下图所示:

    2020-09-23_14-37-11.jpg

    3. 注意事项

    3.1 FineDB 锁死

    多次连接 finedb 数据库或删除连接后重新连接时,会导致 FineDB 被锁,在连接数据库时,展开「PUBLIC」会报错:Database lock acquisition failure: lockFile: com.fr.third.org.hsqldb.persist.LockFile......,如下图所示:

    image.png

    出现此问题时,在 %FR_HOME%\webapps\webroot\WEB-INF\embed\finedb 目录下将 db.lck 文件删除后重新连接即可,文件位置如下图所示:

    image.png

    附件列表


    主题: 数据决策系统
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!