2017-01-31 19 views
1

PHP를 사용하여 SQL 데이터베이스에 연결하는 데 상당히 익숙하며 데이터베이스를 통해 데이터베이스에 연결하려고 할 때이 오류 메시지가 나타나는 문제가 있습니다. sqlsrv_connect() :sqlsrv_connect()를 사용할 때 SQL 데이터 소스에 연결하는 중 오류가 발생했습니다.

[마이크로 소프트] [ODBC 드라이버 관리자] 데이터 원본 이름을 찾을 수 없으며 기본 드라이버 내가 지시 found here을 수행 한이 확장에 놓여있다

을 지정하지; php_sqlsrv_53_nts.dll, php.ini 파일로 웹 서버에서 Phpinfo()sqlsrv을 사용하도록 설정했지만 데이터 소스에 연결하려고 할 때도 여전히 동일한 오류가 발생합니다. 다음은

내가 사용하고있는 코드입니다 :

$db_server = 'tcp:192.168.0.1'; 
$db_credentials = array('UID' => 'Domain\Username',  //SQL Server UID 
         'PWD' => 'Password',     //SQL PW 
         'Database' => 'ThisDatabase',  //Name of the database 
         'CharacterSet' => 'UTF-8', 
         'ConnectionPooling' => 'False', 
         'LoginTimeout' => 60);    //Number of Seconds before fail 

$db_connect = sqlsrv_connect($db_server, $db_credentials); 

//Check the connection to the SQL Database to see if it's valid or else display errors. 
if ($db_connect === false) { 
die(print_r(sqlsrv_errors(), true)); 
} else { 
echo "Success: Connected to database."; 
}; 

내가 완전히 난처한 상황에 빠진, 그래서 어떤 도움이 도움이 될 것입니다!

+1

SQL Server 또는 SQL Server Native Client 용 Microsoft ODBC 드라이버를 설치 했습니까? 나중에 웹 서버를 다시 시작 했습니까? [sqlsrv_client_info] (https://msdn.microsoft.com/en-us/library/cc296165.aspx) 함수를 확인하여 연결을 열지 않으면 작동하지 않을 수 있습니다. – Terminus

+0

@Terminus SQL Server에 'SQL Server Native Client 2012'를 설치했으며 데이터 소스 (ODBC) 프로그램에 시스템 DSN을 설치했습니다. 웹 서버가 재시작되었습니다. 제안 된대로'sqlsrv_client_info'도 확인했으며 "sqlsrv_client_info에 잘못된 매개 변수가 전달되었습니다."라는 메시지가 나타납니다. –

+1

@Terminus 잘못된 서버에'SQL Server Native Client 2012' 드라이버를 설치 한 것으로 보입니다. 웹 서버가 아닌 SQL 서버에 설치되었습니다. 지금 일하고있어, 고마워! –

답변

0

@Terminus에서 제안한대로 SQL Server 드라이버 또는 SQL Native Client 드라이버를 웹 서버에 설치하면이 문제가 해결됩니다.