Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何使用Perl'连接到MSSQL数据库;Windows中的DBI模块?_Sql Server_Windows_Perl - Fatal编程技术网

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

Sql server 如何使用Perl'连接到MSSQL数据库;Windows中的DBI模块?,sql-server,windows,perl,Sql Server,Windows,Perl,如何在Windows中使用Perl的DBI模块连接到MSSQL数据库?找不到可靠的地方。使用类似于 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))

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

找不到可靠的地方。使用类似于

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";
}

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

my $dbh = DBI->connect("dbi:ODBC:$dsn", $user, $pwd, \%attr);
用户数据源和系统数据源的区别在于后者可供任何用户使用


另请参见:

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

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

DBI:ADO:Provider=SQLOLEDB.1;综合安全=SSPI;数据源=本地主机;初始目录=$dbName