如何在Windows中使用Perl的DBI模块连接到MSSQL数据库?
答案 0 :(得分:13)
使用DBD :: ODBC。如果您只是使用控制面板创建数据源 - >系统管理 - > ODBC数据源 - >系统数据源或用户数据源(这些是我记得的名字,但我的XP不是英文,所以我无法检查),那么你所要做的就是使用该数据源的名称。 DBI连接字符串。
my $dbh = DBI->connect("dbi:ODBC:$dsn", $user, $pwd, \%attr);
用户和系统数据源之间的区别在于后者可供任何用户使用。
答案 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;