博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
perl访问sybase等数据库
阅读量:6968 次
发布时间:2019-06-27

本文共 3387 字,大约阅读时间需要 11 分钟。

hot3.png

一、配置 sybase环境

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

## SAP Product Environment variables#SAP_JRE7_32="/opt/sybase/shared/SAPJRE-7_1_027_32BIT"export SAP_JRE7_32SAP_JRE7="/opt/sybase/shared/SAPJRE-7_1_027_64BIT"export SAP_JRE7SAP_JRE7_64="/opt/sybase/shared/SAPJRE-7_1_027_64BIT"export SAP_JRE7_64SYBASE_OCS="OCS-16_0"export SYBASE_OCSINCLUDE="/opt/sybase/OCS-16_0/include":$INCLUDEexport INCLUDELIB="/opt/sybase/OCS-16_0/lib":$LIBexport LIBPATH="/opt/sybase/OCS-16_0/bin":$PATHexport 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_PATHexport LD_LIBRARY_PATHLD_LIBRARY_PATH="/opt/sybase/DataAccess/ODBC/lib":$LD_LIBRARY_PATHexport LD_LIBRARY_PATHLD_LIBRARY_PATH="/opt/sybase/DataAccess64/ODBC/lib":$LD_LIBRARY_PATHexport LD_LIBRARY_PATHSYBASE="/opt/sybase"export SYBASESYBASE_ASE="ASE-16_0"export SYBASE_ASEPATH="/opt/sybase/ASE-16_0/bin:/opt/sybase/ASE-16_0/install":$PATHexport PATHSYBROOT="/opt/sybase"export SYBROOTSYBASE_JRE_RTDS="/opt/sybase/shared/SAPJRE-7_1_027_64BIT"export SYBASE_JRE_RTDSLD_LIBRARY_PATH="/opt/sybase/ASE-16_0/lib":$LD_LIBRARY_PATHexport LD_LIBRARY_PATHSYBASE_WS="WS-16_0"export SYBASE_WSPATH="/opt/sybase/ASE-16_0/jobscheduler/bin":$PATHexport PATH

把上面这段加到~/.bashrc

二、安装

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/perluse 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     = SybaseDriver         	= /opt/sybase/DataAccess/ODBC/lib/libsybdrvodb.so Driver64        	= /opt/sybase/DataAccess64/ODBC/lib/libsybdrvodb.soFileUsage       	= 1

/etc/odbc.ini追加

[sybtestdb]Description     = Sybase ODBC Data SourceDriver          = sybaseServer          = localhostPort            = 5000Database        = your-dbServerName      = your-srvnameUserID          = your-userPassword        = your-passwd

测试代码

#!/usr/bin/perluse 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

你可能感兴趣的文章
C++的变量作用域
查看>>
ES搭建
查看>>
长sql与sql执行进度
查看>>
Java命名规范
查看>>
Openwrt通过tc,iptalbes限速
查看>>
get_hard_info.sh
查看>>
从0开始
查看>>
腾讯网络技术TGW
查看>>
Windows Server入门系列之十二 进程管理
查看>>
搭建DHCP服务器
查看>>
Linux的watch命令 — 实时监测命令的运行结果
查看>>
IO多路复用之epoll总结
查看>>
关于计算机脱域
查看>>
cisco c4507R-E 交换机启动不起来
查看>>
java web 自定义标签
查看>>
2019活动技术(Eventech)的新趋势
查看>>
mac系统安装/升级node
查看>>
数据库-----同义词
查看>>
python venv actieve uninstall pack-name sitepage
查看>>
10月份技术:PXE批量安装LINUX系统
查看>>