1

我通常将我的 SQL Server 与 SQL Server Management Studio 一起使用。在那里登录时,我使用 Windows 身份验证并且不指定用户名/密码。因此,我目前使用的用户名/密码与登录计算机时使用的用户名/密码相同。我正在尝试通过 PHP 建立与服务器的连接;但是,我得到一个错误。有人知道我在做什么错吗?

代码

    $serverName = "MYPCNAME"; 

    $connectionInfo = array( "Database"=>"College", "UID"=>"MYUSERNAME", "PWD"=>"MYPASSWORD");

    $conn = sqlsrv_connect( $serverName, $connectionInfo);

    if( $conn ) {
         echo "Connection established.<br />";
    }else{
         echo "Connection could not be established.<br />";
         die( print_r( sqlsrv_errors(), true));
    }

错误

Connection could not be established.
Array ( [0] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MYUSERNAME'. [message] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MYUSERNAME'. ) [1] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MYUSERNAME'. [message] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MYUSERNAME'. ) )
4

3 回答 3

2

我认为问题出在您的 SQL Server 配置中。您应该有一个具有 SQL Server 身份验证而不是 Windows 身份验证的用户。这是https://support.gearhost.com/KB/a453/adding-users-to-mssql-using-sql-server-management-studio.aspx的方法

您可能还想检查您的 SQL Server TCP/IP 配置是否可以远程访问:http: //blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections -in-sql-server-2008.aspx

于 2012-12-02T03:24:46.507 回答
0

您应该考虑切换到 SQL Server 身份验证,它使您能够使用一系列帐户。

您使用的登录名似乎不正确;我过去使用过 SQL Server,在注册期间,您应该(如果我错了,请纠正我)被要求输入“sa”的密码

SQLSTATE = 28000 -查看这个

看看这是否为您提供了解决方案?

此外,如果您使用 Windows 身份验证,请查看以下链接:使用 Windows 身份验证连接到 MSSQL Server

于 2012-12-02T03:21:11.820 回答
0

我认为您将无法使用 Windows 身份验证从 PHP 连接到 SQL,您可能还需要启用 SQL 身份验证并连接 SA 或其他 SQL 级别的帐户。

于 2012-12-02T03:22:51.740 回答