2012-12-02 3 views
1

저는 대개 SQL Server Management Studio와 함께 SQL Server를 사용합니다. 거기에 로그인 할 때 Windows 인증을 사용하고 사용자 이름/암호를 지정하지 마십시오. 따라서 현재 사용중인 사용자 이름/암호는 내 컴퓨터에 로그온하는 것과 같습니다. 나는 PHP를 통해 서버에 연결을 시도하고있다. 그러나 나는 오류가 발생합니다. 누구든지 내가 뭘 잘못하고 있는지 알아?PHP : SQL Server에 어떻게 연결합니까?

코드

$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'.)) 

답변

2

SQL 서버 구성에 문제가 있다고 생각합니다. Windows 인증 대신 SQL Server 인증을 가진 사용자가 있어야합니다. 방법은 다음과 같습니다 https://support.gearhost.com/KB/a453/adding-users-to-mssql-using-sql-server-management-studio.aspx

입니다 그리고 당신의 SQL 서버의 TCP/IP 구성을 원격으로 액세스 할 수있는 경우 당신은 또한 확인 할 수 있습니다 : http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx

+0

나는 귀하의 링크를 읽고 마지막으로 난 말 SQL Server 오류 로그를 알려준 잘못된 사용자 ID와 암호가 일치하지 않습니다. SQL Server에서 설정 한 후 내 사용자 ID에 사용해야하는 접두사가 있습니까? – daveomcd

+0

@daveomcd SQL Server 인증에 필요한 접두사가 없습니다. SQL 서버 인스턴스 이름을'$ serverName'에'MYPCNAME \ sqlexpress' (SQL 익스프레스를 사용한다면)와 같이 추가하는 것은 어떨까요? sqlsrv_connect doc http://php.net/manual/en/function.sqlsrv-connect.php를 참조하십시오. –

+0

SQL 서버 인스턴스가 있는지 모르겠습니다 ... SQL Server에 연결할 수 있다는 것을 알고 있습니다. Management Studio에서 "MYPCNAME"또는 "localhost" – daveomcd

0

당신은 계정의 범위를 사용 할 수 있습니다 SQL Server 인증 로의 전환을 고려해야합니다.

사용중인 로그인 정보가 정확하지 않은 것으로 보입니다. Review This

이 있는지 말해 - "사"

SQLSTATE = 28000에 대한 암호를 입력해야 내가 과거에 SQL 서버를 사용하고, 등록하는 동안 당신은 (내가 틀렸다면 정정 해줘)한다 솔루션을 제공합니까? Windows 인증을 사용하는 경우

또한

, 다음 링크를 검토 Connect to MSSQL Server Using Windows Authentication

0

을 당신이 Windows 인증을 사용하여 PHP에서 SQL에 연결할 수 않을거야 생각, 당신은 가능성이 SQL을 사용하도록 설정해야합니다 인증뿐만 아니라 SA 또는 다른 SQL 수준의 계정에 연결하십시오.

관련 문제