GBASE企业级大数据平台-功能测试报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GBASE企业级大数据平台功能测试报告
目录
1.基础功能 (4)
1.1.基础SQL功能测试 (4)
1.1.1.建立数据库 (4)
1.1.2.建表 (4)
1.1.3.建立,修改,删除视图 (4)
1.1.4.INSERT语句 (5)
1.1.5.SELECT 语句 (5)
1.1.6.DELETE (6)
1.1.7.UPDA TE (6)
1.1.8.join 关联查询 (6)
1.1.9.函数建立,修改,运行,删除 (7)
1.1.10.存储过程建立,修改,运行,删除 (8)
1.1.11.建用户,设置密码,删除用户,赋权限 (8)
1.2.数据加载 (9)
1.2.1.工具简介 (9)
1.2.2.启动dispatch服务 (10)
1.2.3.准备测试数据文件 (10)
1.2.4.建立ctl加载任务文件 (10)
1.2.5.导入命令 (11)
1.2.6.数据导出 (11)
1.3.数据库备份与恢复 (12)
1.3.1.简介 (12)
1.3.2.建立备份测试表 (12)
1.3.3.建立备份目录 (13)
1.3.4.登陆gcrcman工具,查看备份内容 (13)
1.3.5.第一次全备 (14)
1.3.6.第二次备份 (15)
1.3.7.第三次备份 (17)
1.3.8.备份注意事项 (19)
1.3.9.使用备份命令注意事项 (20)
1.3.10.清除数据,整理备份数据 (21)
1.3.11.第一次恢复到第三次备份状态 (21)
1.3.12.第二次恢复到第二次全备状态 (23)
1.3.13.使用恢复命令注意事项 (25)
1.3.14.删除备份点 (25)
1.3.15.使用删除命令注意事项 (26)
1.3.16.集群相关操作 (27)
1.4.jdbc连接8a集群未测试,没有直连的myeclips (27)
1.4.1.环境准备 (27)
1.4.2.测试JA V A程序 (27)
1.5.odbc连接8a集群 (29)
1.5.1.安装Gbase 8a -ODBC驱动(64位) (29)
1.5.2.新建Gbase 8a –ODBC数据源 (30)
2.产品特性 (31)
2.1.监控工具使用未测试,还未部署监控工具 (31)
2.1.1.系统登录 (31)
2.1.2.集群监控配置 (32)
2.1.3.监控日志 (37)
2.1.4.节点报警 (38)
2.2.企业管理器使用未测试,没有直连windows机器 (49)
2.2.1.简介 (49)
2.2.2.GCluster集群管理 (50)
2.2.3.GCluster服务管理 (52)
2.2.4.连接到对象资源管理器 (55)
2.2.5.通过企业管理器加载本机数据文件 (56)
2.2.6.通过企业管理器启动服务器上的加载任务 (58)
2.3.行列混合存储 (59)
2.4.表压缩测试 (61)
2.4.1.建立测试表,压缩比(1,3) (62)
2.4.2.测试压缩比(5,5)效果 (62)
2.4.3.测试结果 (63)
2.5.gcdump导出工具 (64)
2.5.1.简介 (64)
2.5.2.安装文件 (64)
2.5.3.语法格式 (64)
2.5.4.参数说明 (64)
2.5.5.使用案例 (66)
1.基础功能
1.1. 基础SQL功能测试
1.1.1.建立数据库
create database Mydb;
1.1.
2.建表
分布表
create table user_info(cust_name varchar(20),sex varchar(10),country varchar(10)) distributed by ('cust_name');
create table user_acct_info (cust_name varchar(20),charge decimal(14,2)) distributed by ('cust_name');
复制表
create table sex_info (sex varchar(10),comm varchar(20)) replicated; create table country_info (country varchar(10),comm varchar(20)) replicated;
1.1.3.建立,修改,删除视图
CREATE OR REPLACE VIEW Mydb.VIEW_1 AS (SELECT * FROM ER_ACCT_INFO WHERE CUST_NAME='Bruce Willis');
DROP VIEW Mydb.VIEW_1
1.1.4.INSERT语句
insert into user_info values('Jason Statham','male','USA'); insert into user_info values('Sylvister Stallone','male','USA'); insert into user_info values('Bruce Willis','male','USA');
insert into user_info values('Harrison Ford','male','CHN'); insert into user_info values('Nicole Kidman','female','USA'); insert into user_info values('Kelly Hu','female','CHN');
insert into sex_info values('male','男');
insert into sex_info values('female','女');
insert into country_info values('USA','美国');
insert into country_info values('CHN','中国');
insert into user_acct_info values('Jason Statham',2500000); insert into user_acct_info values('Bruce Willis',400000);
insert into user_acct_info values('Harrison Ford',200000);
insert into user_acct_info values('Kelly Hu',150000);
1.1.5.SELECT 语句
select * from user_info;
1.1.6.DELETE
delete from user_info where cust_name='Bruce Willis';
1.1.7.UPDATE
update user_info set cust_name='Sysvister Stallone' where cust_name='Jason Statham';
1.1.8.join 关联查询
select
a.cust_name,
b.charge,
m,
m
from
user_info a
left outer join
user_acct_info b
on a.cust_name = b.cust_name
left outer join
country_info c
on a.country=c.country
left outer join
sex_info d
on a.sex=d.sex
1.1.9.函数建立,修改,运行,删除
------建立函数
DROP FUNCTION if exists `myfunction`;
DELIMITER //
CREATE FUNCTION myfunction (param varchar(10)) RETURNS INT
BEGIN
SELECT count(1) INTO @count FROM er_info WHERE country= param;
RETURN @count;
END//
---执行函数
SET @result = myfunction('USA');
SELECT @result;
1.1.10.存储过程建立,修改,运行,删除
------建立存储过程
DROP Procedure if exists `myproc`;
DELIMITER //
CREATE DEFINER="root"@"%" PROCEDURE "myproc"(num1 int , num2 int) BEGIN
declare v_sum int;
declare v_num1 int;
declare v_num2 int;
set v_num1=num1;
set v_num2=num2;
set v_sum=v_num1+v_num2;
select v_sum;
END
---运行存储过程
call myproc(10,28);
1.1.11.建用户,设置密码,删除用户,赋权限
---建立user1,但没有任何权限
CREATE USER user1 IDENTIFIED BY 'user123';
---gccli登陆,给用户user1赋予Mydb库所有的表的insert 和 update权限grant insert,update,select on Mydb.* to user1;
查看权限是否赋予成功
show grants for user1;
用user1 登陆Mydb库,对表user_info进行增删改查
insert into user_info values('Vin Disel','male','USA');
insert into user_info values('Paul Walker','');
update user_info set country='USA' where cust_name='Bruce Willis';
----修改密码
用user1登陆,
set password=password('user1234');
----删除用户 drop user user1
1.2. 数据加载
1.2.1.工具简介
数据加载从部署的角度来讲分为三部分:
数据分发服务端程序(dispserver)
数据客户端(gbloader)
数据分发客户端程序(dispcli)
其中数据分发服务端程序器采用类似FTP服务器的方式来工作,但是不同之处在于,其为客户端提供的是虚拟文件服务。
所谓虚拟文件是指在1个或多个物理文件的基础上经过重新切分生成的一种数据实体。
例如,有3个需要装入lineorder表的数据文件,而目标节点有两个,则服务器会把这个3个物理文件按照既定规则重新切分为两个虚拟文件,而数据客户端在向分发服务器读取数据时,使用的是虚拟文件ID来标识它所请求的文件。
数据分发服务端程序和其客户端程序之间采用命令方式来通讯,并由数据分发客户端程序(dispcli)通过gcluster启动和监控数据客户端(gbloader)。
数据分发客户端读取用户指定的分发任务列表文件,根据文件的配置启动相应的分发过程和相应节点上的gbloader,gbloader再根据命令行参数连接到数据分发服务器,并请求数据,执行导入操作。
1.2.2.启动dispatch服务
1 解压dispatch_server-8.5.1.2-build37115-redhat6.2-x86_64.tar.bz
2 生成dispatch_server文件夹
2 进入dispatch_server文件夹启动dispatch_server服务
3 chmod 755 *
4 开启disptach服务
/home/gbase/dispatch_server/dispserver --port=6666 --log-file=/home/gbase/disp_log/0830.log --log-level=4 --loader-log-dir=/home/gbase/disp_log/0830-logs &
1.2.3.准备测试数据文件
建立测试数据文件:/home/gbase/dispatch_server/user_info.dat
文件内容:
JasonStatham|male|USA|&VinDisel|male|3000000&SylvisterStallone|male|USA&B ruceWillis|male|USA&HarrisonFord|male|CHN&NicoleKidman|female|USA&|Kell yHu|female|CHN
1.2.4.建立ctl加载任务文件
[user_info]
disp_server=172.16.65.130:6666
file_list=/home/gbase/dispatch_server/user_info.dat
format=3
db_name=Mydb
table_name=user_info
delimiter='|'
socket=/tmp/gbase_8a_5050.sock
extra_loader_args=--parallel=4
line_separator='&'
max_error_records=20000
max_prefetch=2048
send_block_size=2M
1.2.5.导入命令
注:加载机172.16.65.130
集群服务器:172.16.65.131 172.16.65.132
此案例为加载机不在集群服务器范围内,顾需要增加参数-h172.16.65.131 用来识别集群服务器
./dispcli -h172.16.65.131 -t300 ctl/user_info.ctl
1.2.6.数据导出
select * from er_acct_info into outfile '/home/gbase/user_acct_info_outfile.tbl' fields terminated by '$';
1.3. 数据库备份与恢复
1.3.1.简介
GBase 8a MPP Cluster提供专用的备份恢复工具(gcrcman),用户使用它可以方便地对整个集群中的数据进行集群的备份和恢复。
集群的备份、恢复工具随集群的安装自动安装,该工具被安装在/opt/gcluster/server/bin目录
下。
一次全量备份开启一个新的周期。
一次增量备份则续写最后一个备份周期,使其增加一个备份点。
备份恢复工具会对磁盘空间进行检查,如果存放备份数据的磁盘空间不足,会报告错误信息。
------------------------------备份案例----------------------------------
1.3.
2.建立备份测试表
use Mydb;
gbase> create table bak_test (user_id varchar(10),cust_name varchar(10));
Query OK, 0 rows affected (Elapsed: 00:00:00.95)
gbase> insert into bak_test values('1','Jackson');
Query OK, 1 row affected (Elapsed: 00:00:00.55)
gbase> select * from bak_test;
+---------+-----------+
| user_id | cust_name |
+---------+-----------+
| 1 | Jackson |
+---------+-----------+
1 row in set (Elapsed: 00:00:00.17)
现在表bak_test中有一条记录
1.3.3.建立备份目录
在集群所有节点建立备份目录
mkdir -p /home/gbase/backuptest
1.3.4.登陆gcrcman工具,查看备份内容
---进入交互模式看备份内容:
方式1:
gcrcman.py -d/home/gbase/backuptest/ 执行:show backup
方式2:
python /opt/gcluster/server/bin/gcrcman.py -d/home/gbase/backuptest -e"show backup"
具体用法可以参照
python /opt/gcluster/server/bin/gcrcman.py -h
------重要命令
show backup
backup level <0|1>
recover [<cycle_id> [point_id]]
recover safegroup <group_name> [<cycle_id> [point_id]]
delete <cycle_id | last>
cleanup
1.3.5.第一次全备
1 让集群进入只读模式
gcadmin switchmode readonly
2 备份并且查看是否备份成功
gcrcman>backup level 0 -------------0代表全备
03.13 07:00:38 BackUp start
--------------------------------------------
03.13 07:00:38 node (172.16.65.131) backup begin
03.13 07:01:01 node (172.16.65.131) backup success
--------------------------------------------
03.13 07:01:01 BackUp end
gcrcman>show backup -------可以看到有一条成功备份的记录cycle point level time
0 0 0 2015-03-13 07:00:38
3 让集群进入正常使用模式
gcadmin switchmode normal
1.3.6.第二次备份
1-再插入一条记录
gbase> insert into bak_test values('2','Harrison'); Query OK, 1 row affected (Elapsed: 00:00:00.52) gbase> select * from bak_test;
+---------+-----------+
| user_id | cust_name |
+---------+-----------+
| 1 | Jackson |
| 2 | Harrison |
+---------+-----------+
2 rows in set (Elapsed: 00:00:00.04)
----开始备份
gcadmin switchmode readonly
gcrcman>backup level 0
03.13 07:08:49 BackUp start
--------------------------------------------
03.13 07:08:49 node (172.16.65.131) backup begin
03.13 07:09:17 node (172.16.65.131) backup success
--------------------------------------------
03.13 07:09:17 BackUp end
gcrcman>show backup -------------------可以看到我们有两次全备记录cycle point level time
0 0 0 2015-03-13 07:00:38
1 0 0 2015-03-13 07:08:49
gcadmin switchmode normal
1.3.7.第三次备份
插入第三条记录
gbase> insert into bak_test values('3','John') Query OK, 1 row affected (Elapsed: 00:00:00.28) gbase> select * from bak_test;
+---------+-----------+
| user_id | cust_name |
+---------+-----------+
| 2 | Harrison |
| 3 | John |
| 1 | Jackson |
+---------+-----------+
3 rows in set (Elapsed: 00:00:00.06)
gcadmin switchmode readonly
gcrcman>backup level 1 ----------------增量备份
03.13 07:14:52 BackUp start
--------------------------------------------
03.13 07:14:52 node (172.16.65.131) backup begin
03.13 07:15:14 node (172.16.65.131) backup success
--------------------------------------------
03.13 07:15:14 BackUp end
gcrcman>show backup
cycle point level time
0 0 0 2015-03-13 07:00:38
1 0 0 2015-03-13 07:08:49
1 1 1 2015-03-13 07:14:5
2 -----本次增量备份记录
gcadmin switchmode normal
1.3.8.备份注意事项
----------基本注意事项:
1集群各节点网络连接正常。
2集群的各个节点上,必须都存在gcrcman.py中参数path指定的路径,且gbase 用户对该路径具备读写操作权限。
注意,不要将/opt/gcluser或者/opt/gnode这两个目录及子目录设置为path的路径。
3必须使用gbase用户执行gcrcman.py命令。
4无论是多个会话连接,还是一个会话连接,每次只能运行一个gcrcman.py程序。
1.3.9.使用备份命令注意事项
1集群各项状态正常。
2备份时,由于gcrcman工具运行节点获取当前时间作为备份点的备份时间,因此集群务必保持各节点时间一致,才能保证在不同节点上进行持续备份。
3备份前,各个节点上的备份数据需要保持一致。
4备份数据存放在集群环境内每个SafeGroup内的第一个节点分片(dpname)对应的机器,因此该节点需要预留出足够的磁盘空间,存放待备份的数据。
例如,在如下所示的集群状态中,备份数据将存放到192.168.103.209和192.168.103.211服务器的备份文件夹中:
+=======================================================+
| GCLUSTER INFORMATION |
+=======================================================+
+-------+----------+------------------+--------+--------+
| rowid | nodename | IpAddress | sgname | dpname |
+-------+----------+------------------+--------+--------+
| 1 | node1 | 192.168.103.209 | sg01 | n1 |
+-------+----------+------------------+--------+--------+
| 2 | node2 | 192.168.103.210 | sg01 | n2 |
+-------+----------+------------------+--------+--------+
| 3 | node3 | 192.168.103.211 | sg02 | n3 |
+-------+----------+------------------+--------+--------+
| 4 | node4 | 192.168.103.212 | sg02 | n4 |
+-------+----------+------------------+--------+--------+
5 如果集群中存在nocopies表,需要使用DROP语句删除nocopies表,或者将nocopies表转换为分布表,才能完成备份。
否则会报告错误信息,例如:
gcrcman>backup level 0
11.13 09:53:42 [ERROR]: There is nocopy table, can't backup
6 备份时,需要使用gbase用户,执行gcadmin switch mode readlonly,将集群设置为只读状态,备份完毕后,执行gcadmin switchmode normal,将集群恢复为正常状态。
否则会报告错误信息,例如:
gcrcman>backup level 0
11.13 09:52:43 [ERROR]: (GBA-02BR-0065) The gcware not in 'READONLY' mode, please switch this mode by hand!
7 备份时,程序连同数据库中所有的用户和它的密码同时备份,因此恢复时,也是备份时的用户和密码,因此建议客户,备份前记录好集群中默认的root 用户的密码,以免恢复时忘记。
8 当集群进行了扩容或者缩容操作时,集群的结构会发生变化。
因此,原先的备份记录将会失效,无法完成恢复操作。
正确的做法,就是在集群扩容、缩容后,进行新的备份操作,这样的备份记录,可以进行数据的恢复。
1.3.10.清除数据,整理备份数据
现将bak_test数据清除
delete from bak_test;
将主分片的备份数据拷贝的非主分片中
scp -r /home/gbase/backuptest/* gbase@172.16.65.132:/home/gbase/backuptest/ (此测试集群案例中,只有1个safegroup,以及172.16.65.132 和131 两个节点,131为主节点,132位非主节点,备份的数据只存在于主节点的备份目录中,所以需要往非主节点上备份一份)
1.3.11.第一次恢复到第三次备份状态
-----将集群状态指定为recovery
gcadmin switchmode recovery
----------进行恢复
gcrcman.py -d/home/gbase/backuptest
gcrcman>recover -----------不加参数,默认恢复到最新备份点,最后一次增备
03.13 07:58:56 check BackUp start
--------------------------------------------
03.13 07:58:56 node (172.16.65.131) check backup begin
03.13 07:58:56 node (172.16.65.132) check backup begin
03.13 07:59:14 node (172.16.65.131) check backup success
03.13 07:59:14 node (172.16.65.132) check backup success
--------------------------------------------
03.13 07:59:14 check BackUp success
03.13 07:59:14 Recover start
--------------------------------------------
03.13 07:59:14 node (172.16.65.131) Recover begin
03.13 07:59:14 node (172.16.65.132) Recover begin
03.13 07:59:40 node (172.16.65.131) Recover success
03.13 07:59:40 node (172.16.65.132) Recover success
--------------------------------------------
03.13 07:59:40 Recover success
切换到root 重启集群,再次登录集群select * from bak_test;
+---------+-----------+
| user_id | cust_name |
+---------+-----------+
| 2 | Harrison |
| 3 | John |
| 1 | Jackson |
---三条记录都有了,恢复成功
1.3.1
2.第二次恢复到第二次全备状态1-将集群重置为recovery
gcadmin switchmode recovery
2-backup 查找第二次备份点cycle point值
gcrcman>show backup
cycle point level time
0 0 0 2015-03-13 07:00:38
1 0 0 2015-03-13 07:08:49 ----------------------第二次全备,bak_test表有两条记录数据的时间点
1 1 1 2015-03-13 07:14:52
gcrcman>recover 0 0
03.13 08:30:14 check BackUp start
--------------------------------------------
03.13 08:30:14 node (172.16.65.131) check backup begin
03.13 08:30:14 node (172.16.65.132) check backup begin
03.13 08:30:22 node (172.16.65.131) check backup success
03.13 08:30:22 node (172.16.65.132) check backup success
--------------------------------------------
03.13 08:30:22 check BackUp success
03.13 08:30:22 Recover start
--------------------------------------------
03.13 08:30:22 node (172.16.65.131) Recover begin
03.13 08:30:22 node (172.16.65.132) Recover begin
03.13 08:30:48 node (172.16.65.131) Recover success
03.13 08:30:48 node (172.16.65.132) Recover success
--------------------------------------------
03.13 08:30:48 Recover success
----------访问bak_test,恢复到1条记录的状态
gbase> use Mydb;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)
gbase> select * from bak_test;
+---------+-----------+
| user_id | cust_name |
+---------+-----------+
| 1 | Jackson |
+---------+-----------+
1 rows in set (Elapsed: 00:00:00.03)
1.3.13.使用恢复命令注意事项
1集群各项状态正常。
2 在进行备份数据的恢复前,各节点数据状态正常。
3 各节点备份数据保持一致,即各节点均有恢复时所需要的备份数据。
4 由于在备份数据时,数据仅存放到每个SafeGroup内的第一个节点分片(dpname)对应的机器,因此在恢复备份数据时,需要用户将数据拷贝至组内其它节点上。
5 建议用户先清空非主分片节点上备份文件夹中所有备份数据,再进行全量拷贝主分片节点上的备份数据到其他分片节点。
6 恢复前的集群节点数、SafeGroup分布等集群拓扑结构必须与备份时一致。
7 要使用数据恢复命令,必须保证集群处于RECOVERY模式:使用gbase用户,执行gcadmin switchmode recovery,将集群设置为恢复状态,即可启动集群备份恢复命令,进行恢复操作。
8 对数据恢复后,需要切换到root用户,执行service gcware restart命令重启gcware服务。
9 将集群中的一个安全组的数据恢复到某个备份点时,仅恢复这个安全组的数据,其他组的数据不变。
10 全量拷贝和增量拷贝都需要拷贝bk_lock,.A,.B三个文件。
1.3.14.删除备份点
gcrcman>show backup
cycle point level time
0 0 0 2015-03-13 07:00:38
1 0 0 2015-03-13 07:08:49
1 1 1 2015-03-13 07:14:52
gcrcman>delete 1 ----将第二次备份和第三次备份的内容删除
03.13 12:13:43 Delete BackUp Points start
--------------------------------------------
03.13 12:13:43 node (172.16.65.131) delete begin
03.13 12:13:45 node (172.16.65.131) delete success
03.13 12:13:45 node (172.16.65.132) delete begin
03.13 12:13:46 node (172.16.65.132) delete success
--------------------------------------------
03.13 12:13:46 Delete BackUp Points end
gcrcman>
gcrcman>
gcrcman>show backup
cycle point level time
0 0 0 2015-03-13 07:00:38
1.3.15.使用删除命令注意事项
1 如果仅仅存在一个“全-增”的备份记录,将不能使用该命令进行备份记录的删除。
因为为了保证备份数据的安全,备份恢复工具会拒绝删除最后一个备份周期的数据。
2 删除备份点时,节点上的备份记录删除分为两种情况:
一,各组主分片节点按命令要求,删除某一个周期或者最后一个备份点.
二,各组除主分片节点外的其他节点,将会删除所有备份数据(这里删除的备份数据通常是恢复前,拷贝过去的备份数据)。
1.3.16.集群相关操作
服务启动:service gcware start (root权限)
服务停止: service gcware stop (root权限)
查看集群状态:gcadmin
登陆gccli -uroot -pgbase20110531
退出quit
1.4. j dbc连接8a集群未测试,没有直连的myeclips
1.4.1.环境准备
安装jdk
安装myeclips
1.4.
2.测试JAVA程序
1在myeclipse中新建java project
2在新建的项目上右键选择properties,在弹出的对话框中左侧选择Java Build Path,右侧选择Libraries选项卡,单击Add External JARs,找到gbase-connector-java-8.3.81.53_build52.1-bin.jar文件确定。
3在新建的项目中右键新建class,在新建class对话框中填写类名并勾选
4新建的class文件中内容如下
import java.sql.*; //导入java.sql.*
publicclass conTest {
/**
* @param args
*/
publicstaticvoid main(String[] args) {
// TODO Auto-generated method stub
Connection con=null;
try
{
//加载jdbc驱动类
Class.forName("com.gbase.jdbc.Driver"); //获取数据库连接,注意IP、用户名和密码及数据库需要跟自己服务器一致
con=(Connection)DriverManager.getConnecti
on("jdbc:gbase://192.168.12.200:5258
/test", "gbase", "gbase20110531");
System.out.println("连接建立成功!");
}
catch(ClassNotFoundException ex)
{ //输出驱动相关异常
System.out.println(ex.toString());
}
catch(SQLException ex1)
{
//输出其他sql异常
System.out.println(ex1.toString());
}
finally
{
try
{
if(con!=null){
//关闭连接
con.close();
System.out.println("连接已关闭");
}
}
catch(SQLException ex2)
{
System.out.println(ex2.toString());
}
}
}
}
IP192.168.12.200为集群中的一个服务器地址,执行成功效果图
1.5. o dbc连接8a集群
1.5.1.安装Gbase 8a -ODBC驱动(64位)
解压GBaseODBC_8.3.81.53_build53.8_W64.rar 将解压目录中的内容拷贝到目录C:\Windows\SysWOW64中,并执行一下Install.bat
解压包中需要拷贝的内容
通过window命令窗口进行安装
1.5.
2.新建Gbase 8a –ODBC数据源
进入控制面板\所有控制面板项\管理工具\ ODBC 数据源进行添加数据源配置,测试通过即可。