2017-01-28 9 views
0

PHP를 사용하여 SQL Server 데이터베이스에 연결하려고합니다. WampServer 및 SQLExpress를 Management Studio와 함께 실행하고 있습니다. 어떤 이유로 sqlsrv_connect 호출이 실패합니다. SQL Server에 대한 연결이 열리지 만 사용자가 로그인하지 못합니다. 이 문제는 Windows 인증과 SQL Server 인증에 모두 발생합니다. 이미 데이터베이스 속성의 "보안"탭에서 "SQL Server 및 Windows 인증 모드"로 전환했습니다. 또한 "연결"탭에서 원격 연결이 허용되는지 확인했습니다. 나는 PHP 코드가 아닌 Management Studio로 SQL Server 인증을 사용하여 로그인 할 수 있습니다. 내가 어쩌면 잘못했는지에 대한 도움을 주시면 감사하겠습니다. 이sqlsrv_connect 사용자가 로그인하지 못함

Connection Failed 
Array ([0] => Array ([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'myUsername'. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'myUsername'.) [1] => Array ([0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [code] => 4060 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "myDatabase" requested by the login. The login failed. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "myDatabase" requested by the login. The login failed.) [2] => Array ([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'myUsername'. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'myUsername'.) [3] => Array ([0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [code] => 4060 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "myDatabase" requested by the login. The login failed. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "myDatabase" requested by the login. The login failed.)) 
+0

사용자가 데이터베이스에 설치되어 있고 해당 암호가 올바른지 확인한 것으로 가정합니다. – RiggsFolly

+0

SQL Server에 대한 원격 연결을 활성화 했습니까? http://blog.citrix24.com/configure-sql-express-to-accept-remote-connections/ –

+0

예, Microsoft SQL Server Management Studio를 사용하여 아무 문제없이 연결할 수 있습니다. PHP를 사용하지 마십시오. 네, 원격 연결이 가능합니다. – styro103

답변

0

밖으로

<?php 
$serverName = "STTM-PC\SQLEXPRESS"; 
$connectionInfo = array("Database"=>"myDatabase","UID"=>"myUsername","PWD"=>"myPassword"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 

if ($conn) { 
    echo "Connection Established<br/>"; 
} 
else { 
    echo "Connection Failed<br/>"; 
    die(print_r(sqlsrv_errors(), true)); 
} 
?> 

인쇄 내가 잘못 알아 냈어. 필자는 데이터베이스 사용자가 결코 아니었기 때문에 연결이 설정되지 않았습니다. 수정하려면 Management Studio를 사용하여 데이터베이스에 로그인했습니다. 나는 "보안"탭에서 "로그인"탭을 선택했다. 사용자 이름과 속성을 마우스 오른쪽 버튼으로 클릭했습니다. "사용자 매핑"에서 "myDatabase"를 선택하여이 계정에 매핑했습니다. 이제 연결이 설정됩니다.