PERL连MSSQL

参照了文章: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

你可能感兴趣的:(MSSQL)