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的驱动
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-stable.tgz
tar vxzf freetds-stable.tgz
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
添加如下内容:
host=##隐去的数据库IP地址##
port=##隐去的端口##
tds version=7.1
这里完了之后,可以测试一下Freetds是否能成功连接
/usr/local/freetds/bin/tsql -S SqlServerCD -H ##隐去的数据库IP地址##-p ##隐去的端口## -U ##隐去的用户名## -P ##隐去的密码##
##安装DBD-ODBC
export ODBCHOME=/usr/local/unixODBC
wget http://search.cpan.org/CPAN/authors/id/M/MJ/MJEVANS/DBD-ODBC-1.43.tar.gz
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
#####加入如下内容
Driver= /usr/local/freetds/lib/libtdsodbc.so
#####保存
vim etc/odbc.ini
#####加入如下内容
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 $data $data\n";
}
保存。然后解释运行
perl test.pl
页:
[1]