最新历史版本 :配置数据连接入门 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI 版本功能变动
6.0-
6.0.17增加 fetchsize 参数配置

1.2 功能简介

实际使用时最常见的是将业务数据保存在数据库中,并且不断更新。建立 FineBI 与数据库的连接,让 FineBI 能够直接获取到数据库中的数据。

2. 创建数据连接编辑

以管理员身份进入 FineBI ,点击「管理系统>数据连接>数据连接管理>新建数据连接」可创建新的数据连接,如下图所示:

注:如果非管理员,用户需要有 数据连接使用权限 才可以设置数据连接。

3. 选择数据库类型编辑

接下来我们需要选择自己需要的数据库类型,本文选择「MySQL」数据库。如下图所示:

4. 配置数据连接编辑

4.1 配置数据库信息

输入数据库的相关信息,如下图所示:

不同数据库具体的连接方式可能略有不同,可查看具体的文档,例如 MySQL 可查看:MySQL数据连接

以下为数据连接信息的详细解释,不同数据库要设置的连接信息不同,所以某些数据库会缺失一些项。

配置
介绍
数据连接名称给这个数据连接一个名称,按用户自己的习惯起名即可
驱动

连接数据库所需要的驱动:

  • 默认:一小部分数据库中内置了数据库驱动,使用默认即可。

  • 自定义:FineReport 中未内置驱动,需要用户自定义驱动,详细操作请参见:驱动管理

数据库名称输入要连接的数据库的名字
主机输入数据库所在主机(或服务器)的 IP
端口输入数据库所在主机(或服务器)的端口
认证方式

部分数据库支持多种认证方式,则点击会出现认证方式下拉框:

  • 用户名密码:输入数据库的用户名和密码

  • Kerberos认证:填入注册过 kdc 的客户端名称和 keytab 密钥路径,详情请参见[平台]数据连接 Kerberos 认证

编码推荐使用默认
模式
  • 部分数据库需要选择模式,需要先连接成功后才能选择模式

  • 当数据库不存在模式选择,则无需进行模式选择

  • 如果这些数据库未进行模式选择,则默认选择的是第一个模式

  • 连接多模式的数据库时使用 SQL 语句需要带上模式名前缀进行搜索

注:需要正确选择数据库对应的模式,否则会导致添加数据库表时显示「当前数据连接中无可用表」,只能通过 SQL 数据集进行取数。

数据连接URL自动生成的 URL ,无需特意配置

点击「测试连接」,即可测试是否可以连接成功。

若用户不需要进行一些特殊的配置(本文 4.2、4.3、4.4节),到这里已经可以点击「保存」结束配置了。

4.2 高级设置

在连接数据库时,我们有可能需要进行一些高级设置,但大部分情况下是不需要设置的。我们可以根据需要选择性设置,如下图所示:

  • 常用设置

连接数指的是连接到数据库的 IO 活动数。若同时对此数据库进行连接取表的用户数越多,连接数就越高。

连接数高会严重影响数据库的性能,所以我们需要设置最大活动连接数进行限制。

名称  druid学名默认值
含义  
最大活动连接数maxActive50
连接池在同一时间能够分配的最大活动连接的数量
校验语句validationQuery默认语句
用来检测连接是否有效的 SQL 语句,要求是一个查询语句,常用select 'x' 。用户可自定义该语句。
获取连接前检验testOnBorrow申请连接时执行校验语句 validationQuery 检测连接是否有效
最大等待时间maxWait10000
获取连接时最大等待时间,若超过此时间还没有连接成功,则判定此次连接失败,不再等待。
  • 更多设置(不常用,如无特殊场景不建议修改)


名称
druid学名默认值含义
初始化连接数
initialSize0初始化时建立物理连接的个数
最小空闲连接数minIdle0
连接池最小连接数量
归还连接前校验testOnReturn
归还连接时执行校验语句validationQuery 检测连接是否有效
开启空闲回收器校验testWhileIdle
指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除
空闲连接回收器休眠时间timeBetweenEvictionRunsMillis-1
在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位
空闲连接回收检查数

numTestPerEvictionRun

3
在每次空闲连接回收器(如果有)运行时检查的连接数量
保持空闲最小时间值minEvictableIdleTimeMillis1800s
连接保持空闲而不被驱逐的最小时间


  • fetchsize 设置

基础表抽数慢,直连SQL取数阶段慢等问题,都可以通过 fetchsize 进行调优。

fetchSize 参数是用于控制从数据库中获取数据的批处理大小的设置。较小的 fetchSize 值会减少每次数据库查询的内存消耗,但可能需要更多的数据库往返来获取完整的结果集;较大的 fetchSize 值可以减少数据库往返次数,但会增加内存使用量。可以根据你的需求通过设置 fetchSize 参数值,来优化数据库查询性能。

若参数值 ≤ 0(例如:-20)则表示不开启 fetchsize 参数。

1)Oracle、DB2、Postgre 这三种数据库必须设置 fetchsize 参数,所以若设置了≤0 的参数值,会自动分别被替换为 128、50、10000。

2)其他数据库默认情况下不开启 fetchsize 参数。

16.png

4.3 SSH 设置

若用户安全性要求高,需要使用 SSH 。可以直接勾选「使用SSH通道」,输入对应信息。

注:验证方法支持密码和公钥,其中选择「公钥」需要将文件放置在 %FineBI%/webapps/webroot/WEB-INF/resources 下。

点击「测试连接」,若提示连接成功,点击「保存」保存该配置。

4.4 SSL 设置

注:暂只支持 MySQL 数据库

1)在%FineBI%/webapps/webroot/WEB-INF/resources/certificates 中放入 CA 证书、客户端证书以及客户端秘钥,如下图所示:

48.png

2)勾选「使用SSL通道」,将文件添加进对应位置。如下图所示:

49.png

3)点击「测试连接」,若连接成功点击「保存」保存该配置。

5. 管理数据连接编辑

5.1 管理范围

在数据决策系统中,点击「管理系统>数据连接>数据连接管理」,点击某一数据库右侧图标,如下图所示:

「数据连接管理」各设置项说明如下表所示:

设置项说明
测试连接测试数据库配置是否成功
编辑修改数据连接配置项
重命名重命名该数据库
复制复制该条数据库,且数据连接名自动加 1 
删除删除该数据库
数据连接信息显示数据库类型和创建者

需要注意以下几点:

  • 未适配的数据库类型右侧不显示1572937479544823.png图标。

  • 在管理数据连接时,数据连接的名字不能随意改动。更新到本地的表与数据库匹配依靠的是数据连接的名字,如果修改数据连接的名字,从该连接中取出的表将无法再更新。  

    如果是 SQL 数据集,也会导致没有「修改 SQL」的按钮。

  • 如果更新本地保存的表中的数据库,例如由开发环境变化到生产环境,表名与表结构均一致时,只需要修改数据连接的 URL 即可。本地保存的表依照数据连接名依然可以更新数据。

5.2 连接池状态

数据连接界面提供连接池状态页面,可看到目前已创建的数据连接及对应的连接状态,如下图所示:

「活动连接数」和「空闲连接数」的说明如下表所示:

连接池状态说明
活动连接数

连接池最大可创建的连接数,若最大连接数是 10 ,程序已申请 10 个连接,而且一直在使用,第 11 个连接申请时报错:active 10 maxActive 10

空闲连接数

当前处于空闲状态的连接, 随时会转成活动连接, 空闲状态超过最大空闲连接时间时自动释放

活动连接数+空闲连接数=实际物理连接数

6. 常见报错编辑

6.1 数据无法预览

BI 连接服务器数据集,数据预览时有报错信息:find fieldinfo failed for table:XXX

这是因为数据库表中有重复的字段名,BI 是不支持重复字段名及空值的,如下图所示。我们需要重新修改重复的字段名。

Snag_1145082.png

6.2 无法新增数据连接

用户新增数据连接失败,并报错当前数据连接数量已达到注册lic限制(0个),无法新增,如下图所示:

方案一:关闭 IE 浏览器兼容性视图。

方案二:若要在 IE 浏览器兼容性视图下进行数据决策系统的「管理系统」配置,需要手动调高 IE 内核版本才可以支持使用,操作步骤如下所示:

1)IE 浏览器打开数据决策系统页面,点击页面右上角「工具>F12 开发人员工具」,如下图所示:

2)以 IE10 浏览器为例,手动调高 IE 内核版本。如下图所示: