2017-01-31 32 views
1

我是相當新的,當使用PHP連接到SQL數據庫和我有,我收到此錯誤消息的問題連接到SQL數據源,當試圖通過連接到數據庫sqlsrv_connect()錯誤使用sqlsrv_connect()

[微軟] [ODBC驅動程序管理器]數據源名稱找不到和未指定默認驅動程序

我已經按照說明操作found here,並放置在此延伸; php_sqlsrv_53_nts.dll,進入php.ini文件。 Phpinfo()顯示sqlsrv在Web服務器上啓用,但在嘗試連接到數據源時仍然收到相同的錯誤。

下面是我使用的代碼:

$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驅動程序?事後重新啓動Web服務器嗎?請注意[sqlsrv_client_info](https://msdn.microsoft.com/en-us/library/cc296165.aspx)函數檢查它是否可能無法正常工作,如果尚未打開連接。 – Terminus

+0

@Terminus我已經在SQL服務器上安裝了'SQL Server Native Client 2012',並且還在Data Sources(ODBC)程序中設置了一個System DSN。網絡服務器已重新啓動,我也按照建議檢查了'sqlsrv_client_info',並收到以下消息:「一個無效參數已傳遞給sqlsrv_client_info。」 –

+1

@Terminus看來我在錯誤的服務器上安裝了SQL Server Native Client 2012驅動程序,我將它安裝在SQL服務器上而不是Web服務器上。它正在工作,謝謝! –

回答

0

正如@Terminus所建議的,在Web服務器上安裝驅動程序SQL ServerSQL Native Client可解決此問題。

相關問題