暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

perl 通过DBI连接GBase 8a MPP Cluster

原创 灵魂摆渡者 2022-03-30
351

主要解决方案思路:

通过PERL的DBI->DBD::ODBC驱动->GBase 8a MPP,这种方式可以考虑用在TD的perl程序迁移中。

Step1: GBase 8a MPP ODBC数据源准备

1)配置linux yum源

2)安装unixODBC和unixODBC-devel,yum -y install unixODBC*

3)确认unixODBC安装的正确性,odbcinst -j

4)安装GBase 8a MPP ODBC 驱动,rpm -ivh GBaseODBC-8.3.81.53-build53.17-redhat7-x86_64.rpm

Step2: 配置ODBC数据源

1)查看/etc/odbcinst.ini,记录并复制GBase 8a MPP的驱动名字,比如 GBase 8a MPP ODBC 8.3 driver,如果太长,可以改【】之间的名字

2)配置/etc/odbc.ini,内容如下:

[perlconntest]

Driver = GBase8ampp

DATABASE = test

DESCRIPTION = GBase 8a ODBC 8.3 Driver DSN

SERVER = 192.168.222.131

UID = gbase

PASSWORD = gbase20110531

3)确认数据源的可用性,isql -v perlconntest,如果出现connected即表示连接成功

Step3:配置perl的DBD ODBC驱动

1)下载DBD ODBC驱动包:http://mirrors.sohu.com/CPAN/authors/id/M/MJ/MJEVANS/  下载DBD-ODBC-1.44_4.tar.gz或者其他的版本

2)安装DBD ODBC驱动 ,解压DBD-ODBC-1.44_4.tar.gz驱动包,cd进入解压后的目录,执行perl Makefile.pl ,然后 make,然后make install

Step4: 测试连接可用性

1)编写perl测试程序

#!/bin/perl

use DBI;

use encoding 'utf-8';

$dbh=DBI->connect('dbi:ODBC:perlconntest', 'gbase', 'gbase20110531');

my $sth=$dbh->prepare("select * from test.t1");

$sth->execute();

while (my $ref = $sth->fetchrow_hashref()) {

  print "$ref->{'a'}\t\t$ref->{'b'}\n";

}

$sth->finish();

$dbh->disconnect();

2)执行测试程序,perl dbi.pl(上面程序保存文件名字为dbi.pl

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论