如何使用Windows中的Perl DBI模块连接到MSSQL数据库?

时间:2008-10-14 21:41:14

标签: sql-server windows perl

如何在Windows中使用Perl的DBI模块连接到MSSQL数据库?

4 个答案:

答案 0 :(得分:13)

使用DBD :: ODBC。如果您只是使用控制面板创建数据源 - >系统管理 - > ODBC数据源 - >系统数据源或用户数据源(这些是我记得的名字,但我的XP不是英文,所以我无法检查),那么你所要做的就是使用该数据源的名称。 DBI连接字符串。

my $dbh = DBI->connect("dbi:ODBC:$dsn", $user, $pwd, \%attr);

用户和系统数据源之间的区别在于后者可供任何用户使用。

另请参阅:HOW TO: Create a System Data Source Name in Windows XP

答案 1 :(得分:6)

无法在任何地方找到可靠的信息。使用类似于

的Perl代码
use DBI;
my $dbs = "dbi:ODBC:DRIVER={SQL Server};SERVER={ServerName}";
my ($username, $password) = ('username', 'password');

my $dbh = DBI->connect($dbs, $username, $password);

if (defined($dbh))
{
    #write code here
    $dbh->disconnect;
}
else
{
    print "Error connecting to database: Error $DBI::err - $DBI::errstr\n";
}

答案 2 :(得分:4)

检查Perlmonks,我看到了实际使用Sybase DBI驱动程序连接到MS SQL的建议。这是有道理的,因为MS SQL起源于Sybase代码。当然,ODBC也可以工作。

答案 3 :(得分:0)

使用具有集成安全性的OLEDB(Windows身份验证):

DBI:ADO:Provider=SQLOLEDB.1;Integrated Security=SSPI;Data Source=localhost;Initial Catalog=$dbName;