反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

配置SQL Server外接数据库

  • 文档创建者:Carly
  • 历史版本:10
  • 最近更新:Carly 于 2022-11-29
  • 1. 概述

    1.1 版本


    报表服务器版本
    JAR 包版本
    功能变更
    10.0--
    10.02018-12-27
    新增「模式」设置项
    10.02019-02-28新增支持 SQL Server2017 版本
    10.02019-05-20新增支持迁移数据库数据
    10.0.18-

    1)支持自动读取数据库模式,防止手动输入出错

    2)迁移外接数据库,且不勾选「迁移数据至要启用的数据库」时,自动检测新老数据库对应工程版本是否一致

    注:JAR 包版本低于 2019-05-20 时,用户配置外接数据库时只能迁移数据,不可直接启用新数据库。

    1.2 功能简介

    报表系统配置外接数据库后,遇到集群环境或数据量较大情况时,可保证报表系统的稳定性。

    用户可在「初始化时」配置外接数据库或在「平台中」配置 SQL Server 版本的外接数据库。

    注:若配置了外接数据库,请勿轻易修改外接数据库的用户名和密码,否则会导致工程启动失败。

           如需修改,请参照:修改外接数据库账号密码 。

    2. 数据库配置

    2.1 数据库版本

    外接数据库支持的类型及版本如下表所示:

    数据库类型JAR 包版本支持数据库版本
    SQL Server-

    2000、2005、2008、2012、2014、2016

    2019-02-282017

    2.2 硬件配置

    配置类型
    最低配置推荐配置
    内存1GB2GB
    CPU4核8核
    网速
    50Mbps100Mbps
    占用空间1GB2GB
    磁盘读写速度50MB/s100MB/s

    注1:占用空间需要结合使用度进行调整,可以根据webapps/webroot/WEB-INF/embed/finedb文件夹大小配置,并根据实际大小预估未来使用大小,增大1~2倍。

    注2:推荐内存为预留给工程配置库的内存。

    注3:外接数据库尽量和报表工程在同一网段,避免网络波动等问题。

    2.3 新建数据库

    新建一个数据库,用于存储平台相关数据。

    标准建库语句:CREATE DATABASE finedb COLLATE Chinese_PRC_CS_AS

    注1:数据库名不支持数字。

    注2:不同 FineReport 工程,不可共用同一个外接数据库,否则数据可能会出现错乱。

    SQL Server 数据库的排序规则可选择 Chinese_PRC_CS_AS(大小写敏感)或 Chinese_PRC_CI_AS(大小写不敏感),建议使用 Chinese_PRC_CS_AS(区分大小写 )。

    • 选择 Chinese_PRC_CS_AS ,将原封不动的把全部数据迁移过去。

    • 选择 Chinese_PRC_CI_AS ,迁移时如果报 fine_conf_entity 表违反了 PRIMARY KEY 约束之类的字样,通常是工程有脏数据。

      可执行下面SQL语句查看脏数据:select lower(ID),COUNT(1) FROM FINE_CONF_ENTITY GROUP BY LOWER(ID) HAVING COUNT(1) >1

    3. 方法一:初始化时配置外接数据库

    本方法适用于第一次登录数据决策系统时配置外接数据库。

    3.1 进入初始化界面

    用户可在第一次进入平台时配置外接数据库,如下图所示:

    image.png

    3.2 配置外接数据库

    点击「配置数据库」后,进入到外接数据库配置界面,选择数据库类型为 sqlserver,输入实际数据库相应的信息即可。如下图所示:

    image.png

    各设置项说明如下表所示:


    设置项说明
    数据库类型选择 sqlserver
    驱动

    无需修改,会自动配置

    数据库名称

    2.3 节新建的数据库名称

    禁止与其他工程共用数据库,建议新建数据库

    数据库名称只允许包含数字、字母、下划线和「.」

    用户名/主机/密码/端口根据本地数据库实际情况填写

    主机名称只允许包含数字、字母、下划线、「-」和「.」

    用户需要具备 create、delete、alter、update、select、insert 权限

    模式

    1)10.0.18 及之后版本的报表工程,仅支持下拉选择模式

    正确填写完上面几项设置后,点击模式下拉框中的「点击连接数据库」,系统将自动连接该数据库并读取模式,选择即可(尽量选择和数据库用户的名字相同的模式)

    注:若提示数据库连接失败,请检查上面几项设置。


    2)10.0.18 之前版本的报表工程,仅支持手动输入模式

    模式默认为 dbo

    管理员可以用SELECT * FROM sys.database_principals查找一下数据库的模式,或者使用 Navicat 连接查看数据库的模式。

    3.3 配置成功

    等待一段时间,提示已成功启用新数据库。如下图所示:

    注:请勿在迁移过程中刷新页面。

    13.png

    4. 方法二:平台中配置外接数据库

    本方法适用于进入数据决策系统后,第一次配置外接数据库。

    4.1 进入平台

    管理员登录数据决策系统,点击「管理系统>系统管理>常规>外接数据库>待配置」,如下图所示:

    image.png

    4.2 配置外接数据库

    输入实际数据库相应的信息,配置外接数据库。如下图所示:

    image.png

    各设置项说明如下表所示:

    设置项说明
    数据库类型选择 sqlserver
    驱动

    无需修改,会自动配置

    数据库名称

    2.3 节新建的数据库名称

    禁止与其他工程共用数据库,建议新建数据库

    数据库名称只允许包含数字、字母、下划线和「.」

    用户名/主机/密码/端口根据本地数据库实际情况填写

    主机名称只允许包含数字、字母、下划线、「-」和「.」

    用户需要具备 create、delete、alter、update、select、insert 权限

    模式

    1)10.0.18 及之后版本的报表工程,仅支持下拉选择模式

    正确填写完上面几项设置后,点击模式下拉框中的「点击连接数据库」,系统将自动连接该数据库并读取模式,选择即可(尽量选择和数据库用户的名字相同的模式)

    注:若提示数据库连接失败,请检查上面几项设置。


    2)10.0.18 之前版本的报表工程,仅支持手动输入模式

    模式默认为 dbo

    管理员可以用SELECT * FROM sys.database_principals查找一下数据库的模式,或者使用 Navicat 连接查看数据库的模式。

    4.3 配置成功

    等待一段时间,会跳出弹窗提示:已成功启用目标数据库,点击「确定」即可。如下图所示:

    注1:请勿在迁移过程中刷新页面。

    注2:数据库配置成功后无需重启。

    image.png

    4.4 删除内置库数据连接

    「内置 FineDB 数据库」为HSQL数据库,使用时会建立内存数据库,数据量大时会占用大量内存。

    因此配置完外接数据库后,请检查数据连接中是否存在「内置 FineDB 数据库」的数据连接。

    若存在相关数据连接,请及时删除,否则会持续占用服务器内存。

    5. 方法三:平台二次迁移数据库

    本方法适用于系统已配置外接数据库后,迁移至新的数据库。

    5.1 进入平台

    管理员登录数据决策系统,点击「管理系统>系统管理>常规>外接数据库>已配置」,如下图所示:

    image.png

    5.2 配置外接数据库

    输入实际数据库相应的信息,配置外接数据库。如下图所示:

    image.png

    各设置项说明如下表所示:

    设置项说明
    数据库类型选择 sqlserver
    驱动

    无需修改,会自动配置

    数据库名称

    2.3 节新建的数据库名称

    禁止与其他工程共用数据库,建议新建数据库

    数据库名称只允许包含数字、字母、下划线和「.」

    用户名/主机/密码/端口根据本地数据库实际情况填写

    主机名称只允许包含数字、字母、下划线、「-」和「.」

    用户需要具备 create、delete、alter、update、select、insert 权限

    模式

    1)10.0.18 及之后版本的报表工程,仅支持下拉选择模式

    正确填写完上面几项设置后,点击模式下拉框中的「点击连接数据库」,系统将自动连接该数据库并读取模式,选择即可(尽量选择和数据库用户的名字相同的模式)

    注:若提示数据库连接失败,请检查上面几项设置。


    2)10.0.18 之前版本的报表工程,仅支持手动输入模式

    模式默认为 dbo

    管理员可以用SELECT * FROM sys.database_principals查找一下数据库的模式,或者使用 Navicat 连接查看数据库的模式。

    「迁移数据至要启用的数据库」按钮说明:

    1)勾选「迁移数据至要启用的数据库」

    • 切换数据库时,原外接数据库的数据会导入到新数据库,工程下不生成历史数据备份文件。

    • 若新数据库中已存在平台数据,导入数据前将清空原有平台数据。提示如下图所示:

    1601346675403024.png

    2)不勾选「迁移数据至要启用的数据库」

    • 若新外接数据库为空,提示必须将当前数据迁移到目标数据库。

    1601347324606807.png

    • 若新外接数据库不为空

           迁移前将自动备份原数据库的配置信息,在webapps\webroot\WEB-INF\config目录下生成db.properties.bak文件。如下图所示:

    8.png

           10.0.18 及之后版本的报表工程,会自动检测目标数据库中数据对应的 JAR 包版本和当前工程的 JAR 包版本是否一致。

           若不一致,则跳出提示:无法启用!启用新数据库需要的工程版本:XXX。当前工程版本:XXX。请确保工程版本一致!


           若 JAR 包版本一致,则直接启用新数据库,迁移成功后,提示如下图所示:

    1601346909552549.png

    5.3 迁移成功

    等待一段时间,会跳出弹窗提示:已成功切换至目标数据库!新旧数据库若存在数据差异可能影响系统运行,建议重启工程以确保正常使用。

    点击「确定」后,重启报表工程,方迁移成功。如下图所示:

    注:请勿在迁移过程中刷新页面。

    image.png

    提示:

    image.png

    6. 注意事项

    外接 SQL Server 数据库的时候,2018-12-27 之前的 JAR没有模式(schema)的选项。

    当升级 2018-12-27 及之后的 JAR 时,已配置的外接数据库需要手动添加模式(schema)。

    添加方法:修改%FR_HOME%\webapps\webroot\WEB-INF\config\db.properties文件,手动添加模式。

    若为 dbo 模式,hibernate.default_schema=dbo,如下图所示:

    222

    附件列表


    主题: 数据决策系统
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526