页面树结构
转至元数据结尾
转至元数据起始


关系数据源连接是指通过“数据库驱动程序”连接一个本地或远程的关系数据库。

操作入口

1、选择系统导航栏的 数据连接,或者选择系统快捷菜单 数据连接 ,如图:

2、在“数据连接”界面主菜单选择 关系数据库 下的关系数据源 ,如图

界面介绍

我们在新建关系数据源或是打开数据源,可以看到下面如图的连接信息。

各配置项说明如下:

配置项

说明

名称

新建的数据源的标示名,必须唯一。

别名

新建的数据源显示的名称。

驱动程序类型

用户选择连接的数据库的类型。

关于支持的关系数据库类型,详情请参考 系统环境要求

其中:

  • 大数据量兼容:默认勾选。针对MySQL类型数据库的一个策略,在勾选“大数据量兼容”后,会自动在“连接字符串”结尾添加“&useCursorFetch=true&defaultFetchSize=-2147483648”,用于优化内存占用,在抽取千万级别的海量数据到高速缓存库时能显著提高数据抽取性能。
  • 允许加载Excel数据:用于设置允许加载文件数据源。
驱动程序存放目录

驱动程序存放目录分为“产品内置”和“自定义”。默认为“产品内置”。

驱动包使用的优先级逻辑如下:

1、首先在动态目录smartbiDynamicLib下的自定义目录查找;
2、自定义目录下找不到或者不存在,会去动态目录smartbiDynamicLib的其他目录查找;
3、如果其他目录找不到,则继续在项目lib下面查找。

其中,各目录路径如下:

  • 产品内置:【Smartbi\Tomcat\webapps\smartbi\WEB-INF\lib】
  • 自定义\自定义目录:【Smartbi\Tomcat\bin\dynamicLibraryPath】

驱动程序类

用户选择好连接的数据库的类型的后,系统自动生成驱动程序类。

连接字符串

用户选择好连接的数据库的类型后,系统自动生成相应的连接字符串,用户需要把其中的“<servername>”和“<database>”分别换成连接数据源所在的服务器和数据库的名称。

链接方式用于设置连接数据库的链接方式,默认为用户名密码,部分数据源可选择Kerberos认证方式。注:Huawei FusionInsight HD数据源的链接方式默认为Kerberos认证。

验证类型

用于设置用户名和密码的验证类型,包含两种静态和动态。

静态:输入连接数据库的用户名和密码。

动态:如要用于连接的用户名和密码是根据登录的用户而动态变化。比如Oracle数据库,不同的用户名对数据库的表的权限是不一样的。选择动态的验证类型,需要从左侧资源树下拖拽“系统函数”或是“用户属性”来作为表达式,实现不同的用户登录设置连接数据库的用户名和密码是动态变化的。

详情查看:动态说明

用户名

用户登录所选数据库的用户名。

密码

用户登录所选数据库的密码。

高级

数据库源字符集

选择与数据库对应的字符集。一般情况下不需要设置。具体参见字符集

数据库目标字符集

设置为与数据库对应的字符集。一般情况下不需要设置。具体参见字符集

最大连接数

当数据源启动连接池时,连接池中最多能包含多少个数据库连接。

连接池等待时间(秒)

当连接池满时,再获取等待的时间,若没有获取到就提示。

默认值为“-1”,表示无限等待。

校验语句

数据源连接进行校验的SQL语句。

注:因安全问题,校验语句当前仅支持一条语句或留空,非空时必须是以 select 开头的语句,如:select 1

包含下面几种方式,默认为获取连接时测试。

  • 获取连接时测试:获取连接池时进行SQL语句测试,每一次查询的时候,都会从连接池拿到一个空闲连接,先执行配置的校验语句去执行,判断这个连接是否可用,若不可用则会重新获取一个连接,如果没有配置校验语句,有可能会出现使用已经失效的连接去执行sql语句然后报出数据库驱动相关的报错
  • 返还时测试:返还连接池时进行SQL语句测试,顾名思义,当执行完查询后,将连接返还给连接池时去执行校验语句,判断这个连接是否可用。
  • 获取、返还时测试:获取、返还连接池时都要进行SQL语句测试,执行以上两个步骤。
  • 返还时关闭连接:返还时关闭连接池,每一次查询的时候,都会新建一个数据库连接,查询完毕后,会关闭这个连接,同时提交事务,会对性能有一定影响。
  • 不测试连接:不进行SQL语句连接,执行查询时,不进行测试连接是否可用。
    通常用的是获取连接时测试,特殊情况下会用返还时关闭连接,其它几种基本上用不到。

返还时关闭连接”不启用连接池,其他设置项需要启用连接池。

事务隔离级别

事务隔离级别用于保证并发读取数据的正确性,下面列出各种事务的隔离级别说明,默认选择为JDBC默认值。需注意的是在选择下面事务级别时,需保证所选择的数据库本身是支持的。

  • JDBC默认值:使用JDBC的处理方式
  • 关闭事务:在不启用事务的情况下执行查询
  • 脏数据读:允许读取其它事务正在更新的数据,减少锁表
  • 防止脏数据读:如果读取的数据被锁定时,会等待
  • 可重复读:数据读取时会锁定数据避免其它事务更新
  • 串行:事务逐一执行
引用标识符

表示是否在表名、字段名外添加一个引号。主要用于一些库中的表可能有特殊符号,不添加引号可能会出错。

应用于自助数据集:设置引用标识符的数据想应用于自助数据集时,需要勾选此设置项。

当设置标识符为为空或引号时有以下情况:

  • 设置了标识符为空,勾选"应用于自助数据集",自助数据集的执行SQL无标识符;不勾选"应用于自助数据集",自助数据集的执行SQL有引号标识符。
  • 设置了标识符是引号,勾选或不勾选"应用于自助数据集",自助数据集的执行SQL都包含引号。

描述

添加数据源的备注信息。

设置好数据源连接的配置项后,可以先进行 测试连接 操作,测试连接通过后,再保存。

关系数据源连接成功后,即在资源目录区的“数据源”节点下显示出该关系数据源的内容。如下图:

驱动程序类型

驱动程序类型是指用户选择连接的数据库的类型。

为了便于检查数据源连接方面的问题,下面列出各个关系数据库对应的JDBC驱动的jar文件名:

数据库名称

Jar包名称

备注

SQL Server

sqljdbc.jar

SQL Server 2005

msbase.jar

SQL Server 2000

mssqlserver.jar

msutil.jar

MySQL

mysql.jar


Oracle

Classes12.zip

Oracle9i

classes12.jar

Oracle10g

Db2

db2java.zip


db2jcc.jar


db2jcc_license_cu.jar


sybase

jconn2d.jar


Kingbase

kingbasejdbc4.jar


informix

ifxjdbc.jar


NCR Teradata

teradata.jar

Ncr 2.5

terajdbc4.jar

Ncr 2.5/2.6

tdgssjava.jar

Ncr 2.6

PostgreSQL

postgresql.jar


Greenplum

postgresql.jar



字符集

目前在进行数据源设置的时候可以指定数据库源字符集和数据库目标字符集。一般情况下不需要设置,只有在数据库展示出现乱码的时候,才有可能需要对这些数据集进行设置。

  • 数据源字符集:在获取数据库数据时,指定数据库的字符集。一般为数据库的字符集。
  • 数据源目标字符集:当出现乱码时,目标字符集和数据库本身的编码组合测试,直到找不到不乱码的组合。
  • 无标签