GBASE南大通用技术分享:perl语言连接GBase8a数据库的方法之一,gccli客户端工具

28 阅读1分钟

当前程序开发中,数据库连接主要采用Java和Python作为实现语言。由于历史遗留原因,部分程序仍采用ADO.net、Perl等其他技术栈进行部署。本次内容将重点介绍Perl连接南大通用GBase 8a数据库的两种实现方法。 

1、测试前环境准备

此次测试操作系统采用的是CentOS7。 

安装介质列表

  • perl 

  • unixODBC:ODBC连接测试工具 

  • DBD-ODBC: 为 Perl 的 DBI::DBD 提供了 ODBC 驱动的功能 

  • gccli: GBase8a MPP字符界面客户端 

  • GBaseODBC-9.5.0.2-centos7.x86_64.rpm 

perl安装

​[root@vm220 ~]# yum install perl ​

​[root@vm220 ~]# perl -v ​

​# 检查当前版本是perl5.16 ​

​This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi ​

​... ​

2、perl连接GBase 8a的两种方法

2.1 借助gccli客户端工具连接GBase 8a。 

gccli是GBase提供的一种连接GBase8a MPP的客户端,我们可以用perl脚本直接调用gccli客户端来执行SQL脚本。 

gccli客户端安装 安装GBase 8a的客户端,请请参考产品手册,此处略去。

​[gbase@vm220 ~]$ gccli -uroot -proot -e"select @@version"​

​ +---------------------------------+​

​ | @@version | ​

​+---------------------------------+ ​

​| 9.5.3.27.20_patch.4.r1.1ff35b58 | ​

​+---------------------------------+ ​

编写perl测试脚本

​[gbase@vm220 ~]$ cat test_gccli.pl #! /usr/bin/perl ​

​# 定义测试SQL ​

​my $sql="select * from db01.employee"; ​

​# 连接数据库并执行 ​

​open my $conn,"| gccli -h192.168.10.220 -uroot -proot " or die "$!"; ​

​# 输出结果 ​

​print $conn $sql,"\n"; ​

​# 关闭连接 close $conn; ​

测试验证

​[gbase@vm220 ~]$ perl test_gccli.pl ​

​empid name ​

​100 张三 ​

​105 李四 ​

​216 王五​