文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>在Ubuntu Linux下用Perl访问MS SQL Server数据库

在Ubuntu Linux下用Perl访问MS SQL Server数据库

时间:2010-07-14  来源:perl-v

在Ubuntu Linux下用Perl访问MS SQL Server数据库

Posted on July 11, 2009 by caker

通过Perl访问MS SQL Server和Sybase SQL Server有两种方法: 1. 使用DBI + DBD::Sybase。用这种方法访问MS SQL Server有局限,例如不能使用 ?方式的点位符。 2.  使用DBI + DBD::Sybase + freetds可以访问MS SQL Server, Sybase等数据库。 使用第2种方法的步骤如下: (1) 安装需要的组件: aptitude install freetds-dev libdbd-freetds libdbd-sybase-perl (2) 配置freetds配置文件的数据库参数。也可以直接使用数据库服务的IP地址或域名。例如: DBI:Sybase:server=133.109.55.2 。 freetds的数据源配置文件所在位置可能是如下几个(这个位置取决于编译freetds时设置的路径): /etc/freetds/freetds.conf  (Utuntu Linux 10.04 LTS的默认路径) /usr/local/etc/freetds.conf 注: 如果找不到可以用命令 find / -name freetds.conf 来查找。

示例程序:

#!/usr/local/bin/perl
# use DBI;
my $user = "sa";
my $passwd = "passwd";
#
# Note: sql133 can be a ip address, for example 133.108.55.2
#
my $dbh = DBI->connect("DBI:Sybase:server=sql133", $user, $passwd, {PrintError => 0});
$dbh->do("use Northwind");
unless ($dbh)
{
die "Unable for connect to server $DBI::errstr";
}
my $sqlStatement = " select * from saldb..user_part";
$sth = $dbh->prepare($sqlStatement); $sth->execute;
while ( ( $lastname , $firstname, $title) = $sth->fetchrow_array )
{
printf ("%s, %s (%s) ", $lastname, $firstname, $title);
}
$rows = $sth->rows; print "Rows returned: $rows ";
exit(0);

注: Microsoft SQL Server 7.0 = FreeTDS version =7.0 Microsoft SQL Server 2000, 2005  = FreeTDS version =8.0

参见: http://www.idevelopment.info/data/MSSQL/DBA_tips/Programming/PROG_2.shtml

相关阅读 更多 +
排行榜 更多 +
我要当超人

我要当超人

休闲益智 下载
欢乐跳一跳

欢乐跳一跳

休闲益智 下载
小鱼快跑手机版

小鱼快跑手机版

休闲益智 下载