SQL数据源概述

<< Click to Display Table of Contents >>

当前位置:  数据准备 > 数据源 > SQL数据源 

SQL数据源概述

复制链接

1.概述

SQL数据源连接各种数据库,其创建流程和配置信息大致相同,只有一些设置上的区别。本文主要介绍通用的连接到SQL数据源流程和相关功能。

2.添加SQL数据源

在新建数据源页面选择某种SQL数据源,点击后进入新建页面:

dbshot7_zoom60

3.SQL数据源配置信息介绍

3.1 基础属性

SQL数据源通常需要配置基础属性如图:

在连接方式上,产品提供了两种设置方式,一种是按URL,一种是按服务器,用户可选择任意一种设置。

按URL配置:

data_sql._url_zoom64

 

基础属性详细解释如下:

基础属性

说明

驱动版本

默认驱动有默认关键字标识,未标识的驱动为自定义驱动。自定义驱动会列出驱动类型匹配的类,包括:同样类型的,Generic类型的,其它可以适配的类型的(比如TIDB数据源,可以展示出类型选择为MYSQL的自定义驱动),无类型的(10.0版本之前定义的自定义驱动没有类型选择)。

默认驱动参考支持的数据源范围中的sql数据源部分。选择驱动然后进行对应的属性配置。

自定义驱动:点击定义驱动按钮,在驱动管理的对话框,默认选中对应驱动类型,并展示对应的驱动列表。从下拉选框中选择用户定义的自定义驱动,自定义驱动的创建和管理参考驱动管理

URL

数据源的URL包含数据库名称、数据库服务器等信息,对应数据连接页面提供了URL示例,根据自身数据库的信息修改填入即可。

例如:MySQL的URL为jdbc:mysql://<Databaseserver>:3306/<DatabaseName>

若自身数据库 IP 为192.168.0.1,数据库名称为mysql ,则填入的URL为

jdbc:mysql://192.168.0.1:3306/mysql

SQLITE数据源的URL填写本地文件路径即可,如jdbc:sqlite:D:\Database\sqlite\test。

认证方式

通常包含两种方式:用户名和密码、无身份验证。当数据库设定了访问权限后,用户需要使用用户名和密码来访问当前数据库。也支持Kerberos认证(比如Hive),集成身份认证(比如SSAS)。

开启SSL

SQL数据源中MYSQL、CLICKHOUSE、ELASTIC SEARCH、OPEN DISTRO数据源支持SSL设置。MYSQL、CLICKHOUSE的SSL设置,详情请参考SSL设置。ELASTIC SEARCH的SSL配置,详情请参考ELASTIC SEARCH > SSL设置。OPEN DISTRO的SSL配置,详情请参考OPEN DISTRO > SSL设置

用户名

连接数据库所需要的用户名。

密码

连接数据库所需要的密码。

租户模式

*适用数据源:OCEANBASE

连接数据库时的租户模式,包括MySQL模式和Oracle模式。

指定数据库

控制数据源下展示的数据库(Catalog)。输入要连接的数据库的名称,数据源下就只展示对应的数据库,如果此处不做指定,那将显示所有的数据库。

指定表结构模式

控制数据源下展示的表结构模式(Schema)。当选择一个表结构模式,数据源下就只展示指定的这一个,如果此处不做指定,那将显示所有的表结构模式。

按服务器配置:

data_sql._server_zoom64

基础属性

说明

服务器

数据源的服务器地址。

端口号

数据源的端口号。

默认数据库

非必填,在sql查询中只写了表名时默认使用的数据库。

服务

服务名,用来连接到ORACLE中的一个特定服务。

驱动版本

参考按URL的设置方式。

用户名

密码

租户模式

指定数据库

指定表结构模式

添加基础属性

有些额外的基础属性数据源在建立连接的时候可以在书写URL中添加,有的基础连接属性在建立连接时不能通过URL中添加,可以点击“添加基础属性”按钮,自定义名称和值,添加基础属性:

 

dbshot13_zoom91

例如:mysql在连接时的数据库需要增加两个临时参数。可以选择添加基础属性,输入名称和对应的值。

clip0041

3.2 认证方式

dbshot9

连接数据源支持多种认证,在配置数据源时点击这个选项的下拉选框可以选择多种认证方式。

通常SQL数据源支持两种配置:用户名和密码认证,无身份验证;

对于FUSIONINSIGHT HD、HIVE、SPARK、IMPALA、HBASE、PRESTO、TRANSWARP、TBDS、TBDS OLAP数据源,在原有的两种基础上额外支持两种配置:用户名认证,Kerberos认证,详细的Kerbero认证配置信息请参考Kerberos认证说明

3.3 SSL设置

适用于MYSQL数据源

database_sql._ssl_zoom70

MySQL数据源可以勾选开启SSL,设置SSL属性如图。

database_sql._ssl_dialog

属性说明如下。

属性名称

说明

服务器证书文件路径

数据源所在服务器的证书文件,可选择上传文件或输入路径。

客户端证书文件路径

BI所在服务器的证书文件,可选择上传文件或输入路径。

客户端密钥文件路径

BI所在服务器的密钥文件,可选择上传文件或输入路径。

需要SSL

默认不勾选,通过SSL连接失败的话会自动转非ssl连接;勾选后,只能通过SSL连接数据库,连不上会报错 。

验证服务器证书

默认不勾选,勾选后,客户端会验证服务器的证书。

适用于CLICKHOUSE

database_clickhouse_ssl

CLICKHOUSE数据源可以勾选开启SSL,设置SSL属性如图。

database_clickhouse._ssl_dialog

属性说明如下。

属性名称

说明

服务器证书文件路径

数据源所在服务器的证书文件,可选择上传文件或输入路径。

客户端证书文件路径

BI所在服务器的证书文件,可选择上传文件或输入路径。

客户端密钥文件路径

BI所在服务器的密钥文件,可选择上传文件或输入路径。

SSL模式

支持两种SSL模式:strict、none,strict表示验证所有的服务器证书,none表示信任,不验证。

说明:

上传文件的类型与大小受ssl.certificate.file.type、file.upload.maxsize控制,详情请参考附录 > 安全配置

3.4 选择转换时区

对于ELASTIC SEARCH、CTSDBGREENPLUM数据源,支持配置转换时区。

dbshot11

对于受时区影响的数据,产品支持选择转换时区的配置,配置后会按选择的时区显示时间数据。若不配置,时间数据显示的是数据库默认时区。

目前受影响的函数和字段有两个:

NOW() 和 CURTIME() 数据库函数的返回值受当前 session 的时区影响

timestamp 数据类型字段存储的数据受时区影响

例如数据库中使用了timestamp 数据类型,当选择时区为“(UTC-08:00)太平洋时间(美国和加拿大)”时,则在创建数据集的数据详情中读取此数据时间为太平洋时间。

3.5 高级属性

高级属性通常是收起的,点击以展开。

db_professionalproperties_zoom65

展开的高级属性配置面板如下:

dbshot14_zoom70

数据源开放提供配置数据库configuration properties的接口,点击添加高级属性图标会在高级属性内添加一行“名称”和“值”供用户进行自定义设置,可手工添加多个数据库属性。

SQL所有默认的高级属性详细含义如下:

高级属性

说明

开启连接池

GENERIC、DB2、MYSQL、ORACLE、POSTGRE、SQLSERVER默认开启,其他数据源默认关闭,配置开启数据源连接池的开关,点击勾选可以开启连接池的配置。

开启后才会出现属性【有效连接时间】、【最大连接数】和添加连接池属性。

有效连接时间

数据源的有效连接时间,默认为2小时,当配置为2小时后,超过2小时的连接占用不会放入连接池中。

最大连接数

该数据源最多的连接个数,默认为30。

添加连接池属性

点击添加符号为连接池添加属性,点击后出现【名称】和【值】的输入框,可以点击删除图标删除相应的属性。

Quote符号

定义数据库执行SQL需要转义的情况下,使用的是反引号还是双引号,默认为双引号。

*适用数据源:GENERIC

Fetchsize

控制了JDBC每次读取数据的行数,默认为100。

*JDBC 每次读取的数据是会缓存在内存中的,建议合理配置,保证内存的充足。

*不适用于CLICKHOUSE,DORIS,STARROCKS,TiDB数据源。

事务隔离级别

控制数据源连接的事务隔离级别,此属性包含六个选项值,可在bi.properties通过conn.transaction.level配置控制此属性的全局设置。

JDBC默认值(默认选中):使用JDBC的处理方式;

关闭事务:在不启用事务的情况下执行查询;

脏数据读:允许读取其它事务正在更新的数据(conn.transaction.level=1);

防止脏数据读:如果读取的数据被锁定时,会等待(conn.transaction.level=2);

可重复读:读取数据时会锁定数据避免其它事务更新(conn.transaction.level=4);

串行:事务逐一执行(conn.transaction.level=8)。

AutoCommit

将数据源连接的自动提交模式设置为给定状态。如果连接处于勾选,则它的所有SQL语句将被执行并作为单个事务提交。反之它的SQL语句将聚集到事务中,直到调用commit方法或rollback方法为止。9.2及之后版本默认勾选上了,9.2之前版本默认情况下为不勾选。

获取字段注释为

下拉选项中的值包括空、备注、别名,默认为备注。

空:数据集端只是获取数据库中列的comment,但不作它用。

备注:数据集端会获取数据库中列的comment作为备注,数据集上的显示详情请参考列备注

别名:数据集端会获取数据库中列的comment作为别名。

*不适用于HBASE,ELASTIC SEARCH数据源

注释类型

Teradata数据库有COMMENT和TITLE,可以选择在数据集端获取数据库中列的COMMENT或者TITLE来作为别名。

*适用数据源:TERADATA

队列名

*适用数据源:HIVE,SPARK,IMPALA,TRANSWARP,FUSIONINSIGHT HD

数据库编码

转换编码

数据库编码是数据库的编码;转换编码是转换成的编码。当编码不一致时可以设置这两项来转换编码。

*不适用于ANALYTICDB,DORIS,ELASTIC SEARCH,OCEANBASE,STARROCKS,TiDB数据源。

数据库字符集

设置指定字符集后,在从数据库中取数据的时候,数据库将解码后的字节码重新按设置的字符集格式编码数据,最后再将数据返回给客户端。目前支持选择为GBK或LATIN1。

*适用数据源:MYSQL、ANALYTICDB,DORIS,OCEANBASE,TiDB,STARROCKS。

数据库版本

数据源测试连接成功后,可以直接获取数据源的主版本号,并且有灰色文字说明返回的主版本号。

4.连接配置的数据源

4.1 测试连接

点击测试连接,提示测试成功,即该数据源成功连接到相应数据库。

dbshot23_zoom61

4.2 保存连接

点击顶部工具栏的保存、另存为以保存当前配置的数据源。

创建数据集和制作报告模块都可以使用已保存的数据源。

5.连接问题

在连接SQL数据源过程中,若遇到测试连接失败的问题,您可以采取一系列方法来进行故障排查和问题解决,详情请参考连接问题问题