参照了文章:http://space.itpub.net/82392/viewspace-238018

但由于太老,某些功能使用不起

 

#安装perl
yum install -y perl*

##安装unixODBC
###如有需要,先安装支持库
###yum -y install automake autoconf libtool

 
wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.1.tar.gz
gunzip unixODBC*.tar.gz 
tar xvf unixODBC*.tar
cd unixODBC-2.3.1
./configure  --prefix=/usr/local/unixODBC --enable-gui=no
make 
make install

##安装连接SQLServer或Sybase的驱动

 cd freetds-0.91/ 
.
/configure  --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC --with-tdsver=8.0
make
make install
 

配置freetds.conf

vim /usr/local/freetds/etc/freetds.conf #如果找不到配置文件,可用:find / -name freetds.conf

添加如下内容:

[SqlServerCD]
host=##隐去的数据库IP地址##
port=##隐去的端口##
tds version=7.1

 这里完了之后,可以测试一下Freetds是否能成功连接

/usr/local/freetds/bin/tsql -S SqlServerCD -H ##隐去的数据库IP地址##  -p ##隐去的端口## -U ##隐去的用户名## -P ##隐去的密码##

##安装DBD-ODBC

tar -xzf DBD-ODBC-1.43.tar.gz
cd DBD-ODBC-1.43

  perl Makefile.PL -o /usr/local/unixODBC


make

make install

 

##配置unixODBC

cd /usr/local/unixODBC
vim etc
/odbcinst.ini
#####加入如下内容
[FreeTDS]
Driver
= /usr/local/freetds/lib/libtdsodbc.so

#####保存
vim etc
/odbc.ini
#####加入如下内容

[Server1]
Driver
= FreeTDS   ;与上边的FreeTDS相对应
Server
= ##隐去的服务器地址##
Port
= ##隐去的端口号##
TDS_Version
= 7.2   ;这个东西必须加,否则会给你报个什么unexpect EOF~~~这个东西小弟找了快2小时。。。
 

完了测试:

bin/isql -v Server1  ##隐去的用户## ##隐去的密码##

然后,共享ODBC连接库

cp /usr/local/unixODBC/lib/libodbc.* /usr/lib

测试perl

vim test.pl

复制代码
#!/usr/bin/perl
use DBI;
$dbh=DBI->connect('dbi:ODBC:Server1','##隐去的用户##','##隐去的密码##');
my $sth=$dbh->prepare("select * from 表");
$sth->execute();
while (@data=$sth->fetchrow_array()){
print "$data[0] $data[1] $data[2]\n";
}
复制代码

保存。然后解释运行

perl test.pl

posted on 2012-05-31 17:26  davyfamer  阅读(1024)  评论(2编辑  收藏  举报