我正在尝试从php连接到mssql数据库。我已经为此安装了驱动程序。
现在我遇到以下错误:
数组([0] =>数组([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft] [SQL Server的ODBC驱动程序13] [ SQL Server]用户'domain \ user'登录失败。[message] => [Microsoft] [SQL Server的ODBC驱动程序13] [SQL Server]用户'domain \ user'登录失败。)[1] =>数组([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft] [用于SQL Server的ODBC驱动程序13] [SQL Server]用户登录失败' domain \ user'。[message] => [Microsoft] [SQL Server的ODBC驱动程序13] [SQL Server]用户'domain \ user'登录失败。))
有什么我想念的吗?
编辑:我的连接字符串:
$serverName = "server, port";
$connectionInfo = array( "Database"=>"my_database");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "Unable to connect.<br />";
die( print_r( sqlsrv_errors(), true));
}
编辑2:
用户和密码的代码示例
$serverName = "server, port"; //serverName\instanceName
$connectionInfo = array( "Database"=>"my_database", "UID"=>"domain\user", "PWD"=>"my_pw");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection OK.<br />";
}else{
echo "Unable to connect.<br />";
die( print_r( sqlsrv_errors(), true));
}
不得不修改wampapaches服务中的身份验证方法。在那里,我把我的用户和传递和工作正常。
我有一个类似的问题。我有一个PHP脚本来访问供应商托管的mssql数据库。我们无法使用Windows身份验证。用户标识和密码有效,因为它适用于python。我们发现供应商提供的密码包含$,在PHP中表示一个变量。我们将密码周围的双引号更改为单引号并且有效。这是由服务器打开Magic Quotes引起的,解决方法是使用单引号强制PHP将密码识别为字符串。