perl访问sybase等数据库

一、配置 sybase环境

这里sybase安装目录为/opt/sybase

#
# SAP Product Environment variables
#
SAP_JRE7_32="/opt/sybase/shared/SAPJRE-7_1_027_32BIT"
export SAP_JRE7_32
SAP_JRE7="/opt/sybase/shared/SAPJRE-7_1_027_64BIT"
export SAP_JRE7
SAP_JRE7_64="/opt/sybase/shared/SAPJRE-7_1_027_64BIT"
export SAP_JRE7_64
SYBASE_OCS="OCS-16_0"
export SYBASE_OCS
INCLUDE="/opt/sybase/OCS-16_0/include":$INCLUDE
export INCLUDE
LIB="/opt/sybase/OCS-16_0/lib":$LIB
export LIB
PATH="/opt/sybase/OCS-16_0/bin":$PATH
export PATH
#
# Replace lib, lib3p, and lib3p64 with devlib, devlib3p, and devlib3p64 when debugging
#
LD_LIBRARY_PATH="/opt/sybase/OCS-16_0/lib:/opt/sybase/OCS-16_0/lib3p64:/opt/sybase/OCS-16_0/lib3p":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
LD_LIBRARY_PATH="/opt/sybase/DataAccess/ODBC/lib":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
LD_LIBRARY_PATH="/opt/sybase/DataAccess64/ODBC/lib":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
SYBASE="/opt/sybase"
export SYBASE
SYBASE_ASE="ASE-16_0"
export SYBASE_ASE
PATH="/opt/sybase/ASE-16_0/bin:/opt/sybase/ASE-16_0/install":$PATH
export PATH
SYBROOT="/opt/sybase"
export SYBROOT
SYBASE_JRE_RTDS="/opt/sybase/shared/SAPJRE-7_1_027_64BIT"
export SYBASE_JRE_RTDS
LD_LIBRARY_PATH="/opt/sybase/ASE-16_0/lib":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
SYBASE_WS="WS-16_0"
export SYBASE_WS
PATH="/opt/sybase/ASE-16_0/jobscheduler/bin":$PATH
export PATH

把上面这段加到~/.bashrc

二、安装 DBI

wget https://cpan.metacpan.org/authors/id/T/TI/TIMB/DBI-1.636.tar.gz

tar zxvf DBI-1.636.tar.gz

cd DBI-1.636

perl Makefile.PL
make
sudo make install

三、安装DBD-Sybase

wget http://www.cpan.org/authors/id/M/ME/MEWP/DBD-Sybase-1.15.tar.gz

tar zxvf  DBD-Sybase-1.15.tar.gz

cd DBD-Sybase-1.15

perl Makefile.PL
make
sudo make install

四、安装其他DBD模块注意

DBD-pg需要设置POSTGRES_HOME、POSTGRES_INCLUDE、POSTGRES_LIB等环境变量

DBD-mysql需提供mysql_config路径,如:

perl Makefile.PL --mysql_config=/opt/mysql/bin/mysql_config

DBD-db2需要配置export DB2_HOME=/home/db2inst1/sqllib,DBD-Oracle需要配置ORACLE_HOME

等,总之编译安装DBD模块前要告知数据库服务器安装的位置

五、测试代码(需修改服务名、数据库名、用户名、密码、表名等对应你的数据库环境)

#!/usr/bin/perl

use DBI;
use DBD::Sybase; 

$dbname="your-db";
$user="your-user";
$passwd="your-passwd";

$dsn = "DBI:Sybase:server=MYMOTIFVOSTRO145480;database=$dbname";
 

$dbh = DBI->connect($dsn,$user,$passwd) or die "can't connect to database : $DBI::errstr";

$sth=$dbh->prepare("select * from your-table");
$sth->execute;
while (@recs=$sth->fetchrow_array) {
print $recs[0].":".$recs[1].":".$recs[2]."\n";
}
$dbh->disconnect;

六、ODBC方式

安装DBD-ODBC,wget http://www.cpan.org/authors/id/M/MJ/MJEVANS/DBD-ODBC-1.56.tar.gz

安装过程和上面类似

配置sybase的odbc驱动

/etc/odbcinst.ini追加

[sybase]
Description     = Sybase
Driver         	= /opt/sybase/DataAccess/ODBC/lib/libsybdrvodb.so 
Driver64        	= /opt/sybase/DataAccess64/ODBC/lib/libsybdrvodb.so
FileUsage       	= 1

/etc/odbc.ini追加

[sybtestdb]
Description     = Sybase ODBC Data Source
Driver          = sybase
Server          = localhost
Port            = 5000
Database        = your-db
ServerName      = your-srvname
UserID          = your-user
Password        = your-passwd

测试代码

#!/usr/bin/perl

use DBI;
use DBD::ODBC; 
#sybtestdb 字串对应于 /etc/odbc.ini 里面的 [DSN] 
$dsn = "DBI:ODBC:sybtestdb";
 
$dbh = DBI->connect($dsn) or die "can't connect to database : $DBI::errstr";
$sth=$dbh->prepare("select * from you-table");
$sth->execute;

$sth->{'LongTruncOk'} = 1;
while (@recs=$sth->fetchrow_array) {
	print $recs[0].":".$recs[1].":".$recs[2]."\n";
}
$dbh->disconnect;

 

转载于:https://my.oschina.net/u/2245781/blog/1162441

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值