qqwe 发表于 2015-12-25 14:56:01

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]
查看完整版本: PERL连MSSQL