1. 概述
1.1 版本
FineBI 版本 | 功能变动 |
6.0 | - |
6.0.17 | 增加 fetchsize 参数配置 |
6.1.5 | 数据连接可放到文件夹中进行管理 |
1.2 功能简介
建立 FineBI 与数据库的连接,让 FineBI 能够直接获取到数据库中的数据。
2. 新建数据连接
1)管理员进入 FineBI 工程,点击「管理系统>数据连接管理」页面。点击「新建>文件夹」,可以使用文件夹对数据连接进行分类管理。如下图所示:
注:如果非管理员,用户需要有 数据连接使用权限 才可以设置数据连接。
在某文件夹中新建数据连接。如下图所示:
2)在弹出的窗口中,自定义一个数据连接名称。如下图所示:
3)选择数据库类型,例如要连接 MySQL 类型的数据库,即需要选择「MySQL」,然后点击「下一步」按钮。如下图所示:
4)输入数据库的相关信息。如下图所示:
以下为数据连接信息的详细解释,不同数据库要设置的连接信息不同。可查看具体的文档,例如 MySQL 可查看:MySQL数据连接
配置 | 介绍 |
---|---|
数据连接名称 | 给这个数据连接一个名称,按用户自己的习惯起名即可 |
驱动 | 连接数据库所需要的驱动:
|
数据库名称 | 输入要连接的数据库的名字 |
主机 | 输入数据库所在主机(或服务器)的 IP |
端口 | 输入数据库所在主机(或服务器)的端口 |
认证方式 | 若数据库支持多种认证方式,则点击会出现认证方式下拉框:
|
编码 | 推荐使用默认 |
模式 |
注:需要正确选择数据库对应的模式,否则会导致添加数据库表时显示「当前数据连接中无可用表」,只能通过 SQL 数据集进行取数 |
数据连接URL | 自动生成的 URL ,无需特意配置 |
点击「测试连接」,即可测试是否可以连接成功。
若用户不需要设置连接池,即可点击「保存」。完成数据连接配置。
3. 高级设置
在连接数据库时,可能需要进行一些高级设置,但大部分情况下是不需要设置的。
我们可以根据需要选择性设置,如下图所示:
Fetchsize 设置
基础表抽数慢,直连SQL取数阶段慢等问题,都可以通过 fetchsize 进行调优。
fetchSize 参数是用于控制从数据库中获取数据的批处理大小的设置。较小的 fetchSize 值会减少每次数据库查询的内存消耗,但可能需要更多的数据库往返来获取完整的结果集;较大的 fetchSize 值可以减少数据库往返次数,但会增加内存使用量。可以根据你的需求通过设置 fetchSize 参数值,来优化数据库查询性能。
若参数值 ≤ 0(例如:-20)则表示不开启 fetchsize 参数。
1)Oracle、DB2、Postgre 这三种数据库必须设置 fetchsize 参数,所以若设置了≤0 的参数值,会自动分别被替换为 128、50、10000。
2)其他数据库默认情况下不开启 fetchsize 参数。
SocketTimeout 设置
设置套接字超时时长(连接接等待或数据传输的最长时间),超过此时间会强制中断连接
为空或输入为0时,视为不设置超时
3.1 连接池设置
对连接池进行设置,选择「连接池设置」按钮,如下图所示:
常用设置
名称 | druid学名 | 默认值 | 含义 |
---|---|---|---|
最大活动连接数 | maxActive | 50 | 连接池在同一时间能够分配的最大活动连接的数量 |
获取连接前检验 | testOnBorrow | 是 | 申请连接时执行 validationQuery 检测连接是否有效 |
空闲连接可用性定期检查 | keepAlive | 是 | 检查到需要留下的连接保证其可用 |
校验语句 | validationQuery | 默认语句 | 用来检测连接是否有效的 SQL 语句,要求是一个查询语句,常用select 'x' 。用户可自定义该语句。 |
获取连接前检验 | testOnBorrow | 是 | 申请连接时执行 validationQuery 检测连接是否有效 |
最大等待时间 | maxWait | 10000ms | 获取连接时最大等待时间,若超过此时间还没有连接成功,则判定此次连接失败,不再等待 |
更多设置(不常用,如无特殊场景不建议修改)
名称 | druid学名 | 默认值 | 含义 |
---|---|---|---|
初始化连接数 | initialSize | 0 | 初始化时建立物理连接的个数 |
最小空闲连接数 | minIdle | 0 | 连接池最小连接数量 |
归还连接前校验 | testOnReturn | 否 | 归还连接时执行校验语句validationQuery 检测连接是否有效 |
获取连接时空闲连接可用性校验 | testWhileIdle | 否 | 指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除 |
空闲连接回收器工作间隔 | timeBetweenEvictionRunsMillis | 60000ms(60s) | 该参数用于指定连接池中的空闲连接检测和清理线程运行的时间间隔,单位为毫秒。 |
空闲连接回收检查数 | numTestPerEvictionRun | 3 | 指定在每次空闲连接回收运行时要测试的连接数量 |
空闲连接回收时间阈值 | minEvictableIdleTimesMillis | 1800s | 如果一个连接在连接池中空闲时间超过了阈值,并且连接数超过了「最小空闲连接数」,那么该连接就会被从连接池中移除 |
空闲连接强制回收时间阈值 | maxEvictableIdleTimeMillis | 25200s(7h) | 一个连接在连接池中空闲的时间超出了该阈值,会被从连接池中移除 |
空闲连接可用性定期检查时间阈值 | keepAliveBetweenTimeMillis | 120000ms(2min) | 空闲连接的保持存活时间,可以确保在空闲一段时间后连接不会被意外关闭 |
3.2 SSH 设置
若用户安全性要求高,需要使用 SSH 。可以直接勾选「使用SSH通道」,输入对应信息。
注:验证方法支持密码和公钥,其中选择「公钥」需要将文件放置在 %FineBI%/webapps/webroot/WEB-INF/resources 下。
点击「测试连接」,若提示连接成功,点击「保存」保存该配置。
3.3 SSL 设置
注:暂只支持 MySQL 数据库
1)在%FineBI%/webapps/webroot/WEB-INF/resources/certificates 中放入 CA 证书、客户端证书以及客户端秘钥,如下图所示:
2)勾选「使用SSL通道」,将文件添加进对应位置。如下图所示:
3)点击「测试连接」,若连接成功点击「保存」保存该配置。
4. 管理数据连接
4.1 单个数据连接管理
数据连接创建成功后,界面如下图所示:
注:用户创建的文件夹、数据连接,默认具备使用和管理权限。
用户可在列表对数据连接做编辑、重命名、复制、删除、测试连接操作。如下图所示:
设置项 | 说明 |
---|---|
测试连接 | 测试数据库配置是否成功 |
编辑 | 修改数据连接配置项 |
重命名 | 重命名该数据库 |
复制 | 复制该条数据库,且数据连接名自动加 1 |
删除 | 删除该数据库 |
数据连接信息 | 显示数据库类型和创建者 |
需要注意以下几点:
未适配的数据库类型右侧不显示
图标。
在管理数据连接时,数据连接的名字不能随意改动。更新到本地的表与数据库匹配依靠的是数据连接的名字,如果修改数据连接的名字,从该连接中取出的表将无法再更新。
如果是 SQL 数据集,也会导致没有「修改 SQL」的按钮。
如果更新本地保存的表中的数据库,例如由开发环境变化到生产环境,表名与表结构均一致时,只需要修改数据连接的 URL 即可。本地保存的表依照数据连接名依然可以更新数据。
4.2 文件夹管理数据连接
1)点击文件夹或根目录,可通过数据连接名称(不区分字母大小写,支持模糊搜索)、数据源类型(可多选,为表格中已有的数据源类型)、创建人(可多选,为表格中已有创建人)搜索数据连接。如下图所示:
「活动连接数」和「空闲连接数」的说明如下表所示:
连接池状态 | 说明 |
---|---|
活动连接数 | 连接池最大可创建的连接数,若最大连接数是 10 ,程序已申请 10 个连接,而且一直在使用,第 11 个连接申请时报错:active 10 maxActive 10 |
空闲连接数 | 当前处于空闲状态的连接, 随时会转成活动连接, 空闲状态超过最大空闲连接时间时自动释放 活动连接数+空闲连接数=实际物理连接数 |
2)可对文件夹进行重命名、删除操作。如下图所示:
3)可将数据连接从 A 文件夹中拖拽到 B 文件夹中;文件夹不支持拖拽到另外一个文件夹中,最多支持一层文件夹。
4.3 数据连接超时检测
在「数据连接管理>全局设置」中,提供「数据连接超时检测」功能,支持用户自定义数据连接的超时时间。
数据连接超时时,报错「31300010 kdc服务器不连通」,可手动调大超时时间。