如何在Windows中使用Perl的DBI模块连接到MSSQL数据库?
使用DBD :: ODBC。 如果你只是使用控制面板 – >系统管理 – > ODBC数据源 – >系统数据源或用户数据源创建一个数据源(这些是我记得的名字,但我的XP不是英文的,所以我无法检查),那么您所要做的就是使用DBI连接字符串中的该数据源的名称。
my $dbh = DBI->connect("dbi:ODBC:$dsn", $user, $pwd, \%attr);
用户和系统数据源的区别在于后者可以被任何用户使用。
另请参阅: 如何在Windows XP中创建系统数据源名称
无法在任何地方找到可靠的。 使用类似于Perl的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"; }
检查Perlmonks ,我看到建议实际使用Sybase DBI驱动程序连接到MS SQL。 这是有道理的,因为MS SQL起源于Sybase代码。 当然,ODBC也是有效的。
使用OLEDB与集成安全性(Windows身份验证):
DBI:ADO:Provider=SQLOLEDB.1;Integrated Security=SSPI;Data Source=localhost;Initial Catalog=$dbName;