外接数据库回迁内置数据库

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

    1.1 问题描述

    安装部署Finereport 报表工程时,会创建数据库 FineDB。FineDB 用来存储 FineReport 自带的报表管理系统(数据决策平台)信息,比如平台用户信息、权限设定信息等。

    初次安装部署工程时,可以选择 FineDB 为内置数据库或外接数据库,详细内容可以参考:决策系统简介

    若用户选择了 FineDB 为外接数据库, 实际使用中,当 FineDB 外接数据库无法连接或者需要进行工程迁移时,就需要将 FineDB 回迁,从外接数据库变换成内置数据库。

    1.2 实现思路

    在管理系统中手动备份平台配置 FineDB 文件,用备份的文件替换原有文件,删除外接数据库配置「db.properties」文件后即可还原为内置数据库。

    2. 操作步骤

    2.1 备份平台配置

    1)登录管理员账号,进入「管理系统>智能运维>备份还原」,点击「平台配置」,可以看到备份界面,如下图所示:

    2020-09-29_13-51-04.jpg

    注:若备份界面无内容显示,说明 FineDB 为内置数据库,在「管理系统」>「常规」界面,「外接数据库」位置可以查看是否配置外接数据库。

    2)在「管理系统>智能运维>备份还原>平台配置」界面,点击「手动备份」后,弹出「备份设置」窗口,点击「确定」,若需要修改名称可以在「名称」处修改,如下图所示:

    2020-09-29_14-03-55.jpg

    2.2 替换FineDB库

    1)进入报表工程目录%FR_HOME%\webapps\webroot\backup\config\manual,找到刚才备份的文件,如下图所示:

    image.png


    2)点击备份文件,解压备份文件中的「config」文件夹,得到「finedb」数据库文件,如下图所示:

    2020-09-29_14-18-19.jpg

    3)复制「finedb」数据库文件,替换报表工程目录%FR_HOME%\webapps\webroot\WEB-INF\embed 下的「finedb」文件,如下图所示:

    image.png

    2.3 删除配置文件

    进入%FR_HOME%\webapps\webroot\WEB-INF\config 目录,删除「db.properties」文件。该配置文件保存的是外接数据库的配置,删除即还原为内置数据库,如下图所示:

    image.png

    2.4 重启报表工程

    重启报表工程后,用管理员账号登录,在「管理系统」>「常规」界面,「外接数据库」位置可以看到已显示「待配置」,说明 FineDB 已还原为内置数据库,如下图所示:

    2020-09-29_14-35-16.jpg

    3. 注意事项

    3.1 外置数据库迁移到 Oracle 数据库

    本文介绍内容为外置数据库迁移到内置 HSQL 数据库,如果用户需要将外置数据库迁移到 Oracle 数据库,需要注意本节所述内容。

    有两条主键 ID ,区别为结尾是否带空格。例如「config」和「config 」,Oracle 数据库会认为是不同的数据,HSQL 数据库认为是相同的数据。FineDB 数据库通常只有 fine_conf_entity 会有结尾带空格的情况。

    在备份时需要做如下处理:将结尾为空格的数据结尾处加上'__BL__',在还原时再去掉。在这种情况下,若用本文的方法,将备份文件拷贝至 embed 文件夹,再迁移出去后,需要执行update fine_conf_entity set id = replace(id, '__BL__', '')做脏数据处理。

    附件列表


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