主要解决方案思路:
通过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




