我正在尝试使用Windows Active Directory身份验证使用PHP连接到SQL Server。我的代码如下:
<?php
$serverName = 'vgissql';
$connectionInfo = array('Database'=>'gis', "Authentication"=>'ActiveDirectoryPassword');
$conn = sqlsrv_connect($serverName, $connectionInfo);
if ($con){
echo "Connection established";
}else{
echo 'Connection failed<br>';
die(print_r(sqlsrv_errors(), True));
}
?>
我遇到错误:
连接失败 数组([0] =>数组([0] => FA001 [SQLSTATE] => FA001 [1] => 0 [代码] => 0 [2] => [Microsoft] [SQL Server的ODBC驱动程序17]不能将身份验证选项与集成安全性选项一起使用。[消息] => [Microsoft] [SQL Server的ODBC驱动程序17]不能将身份验证选项与集成安全性选项一起使用。)[1] =>数组([0] => FA001 [SQLSTATE] => FA001 [1] => 0 [代码] => 0 [2] => [Microsoft] [用于SQL Server的ODBC驱动程序17]不能将身份验证选项与集成安全性选项一起使用。[消息] => [Microsoft] [ODBC用于SQL Server的驱动程序17]无法将“身份验证”选项与“集成安全性”选项结合使用。))
我找不到关闭集成安全性的方法。据我所知,我没有指定在任何地方使用它。
答案 0 :(得分:0)
如果要使用Windows身份验证连接到SQL Server,请不要设置Authentication
连接选项。像这样执行脚本:
<?php
$serverName = 'vgissql';
$connectionInfo = array('Database'=>'gis');
$conn = sqlsrv_connect($serverName, $connectionInfo);
if ($con){
echo "Connection established";
}else{
echo 'Connection failed<br>';
die(print_r(sqlsrv_errors(), True));
}
?>
根据有关如何Connect Using Azure Active Directory Authentication的文档,"Authentication"=>'ActiveDirectoryPassword'
config选项用于使用Azure AD连接到SQL Server。