2014-01-21 81 views
0

我一直在試圖連接到SQL Server在PHP中使用PDO 2008R2數據庫,使用此語法:PHP - 可以使用sqlsrv_connect連接到SQL Server 2008R2,但不能與PDO連接 - 爲什麼?

$conn = new PDO('sqlsrv:Server=xxxxxx;Database=xxxxx', 'xxxxx', 'xxxxx'); 

,但每一次,我嘗試運行一個查詢,我得到「例外‘PDOException’有消息 'SQLSTATE [08001]:[微軟] [SQL Server本機客戶端11.0]命名管道提供商:無法打開到SQL Server的連接[2]'」

但是當我嘗試使用

$serverName = "xxxxx"; 
$connectionInfo = array("UID"=>"xxxx", 
       "PWD"=>"xxxx", 
       "Database"=>"xxxxx"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 

該曲ery是成功的。

我的PHPinfo()顯示在PDO驅動程序中啓用了sqlsrv,並且sqlsrv_connect正在工作的事實似乎表明它不是防火牆或端口打開問題。用戶名和密碼在兩種情況下都是相同的。

任何人都可以幫助建議我應該在哪裏尋找PDO的工作,因爲我寧願這樣做的一致性?

+0

您可以在發佈後的一兩天內接受您自己的答案。 –

回答

0

AAAARGHH,這是我的PDO語句中的語法錯誤。將所有內容都改爲小寫字母,並且工作正常。對不起,StackOverflow!

+1

如果你解釋什麼是大寫字母引起的問題,答案會更有幫助。 –