[Microsoft] [用于SQL Server的ODBC驱动程序17]不能将身份验证选项与集成安全性选项一起使用

时间:2019-01-11 19:02:06

标签: sql-server odbc

我正在尝试使用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]无法将“身份验证”选项与“集成安全性”选项结合使用。))

我找不到关闭集成安全性的方法。据我所知,我没有指定在任何地方使用它。

1 个答案:

答案 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。