php版本是 5.3.22 非安全執行緒
資料庫sql server 2008 R2,不在同個伺服器上,區域網路
IIS6.0 win2003
根據百度安裝了
Microsoft SQL Server 2008 R2 Native Client (sqlnlci.msi)
SQL Server Driver for PHP 2.0 中的php_pdo_sqlsrv_53_nts_vc6.dll
與php_sqlsrv_53_nts_vc6.dll
好不容易php.info裡擴充項給加上了,可是串連資料庫的時候又報錯了,我是新手,弄了好幾天了,實在沒辦法了,求大家幫幫我
這是phpinfo裡載入了
串連代碼如下
$uid="sa";
$pwd="1234";
$db_name="test";
$serverName="155.46.2.23";
$connectionInfo=array("UID"=>$uid,"PWD"=>$pwd,"Database"=>$db_name);
$conn = sqlsrv_connect($serverName,$connectionInfo);
if($conn==false)
{
echo"Could not connect.";
die( print_r( sqlsrv_errors(), true));
}else{
echo"sqlserver connect.";
}
報錯
資料庫方面 遠程也充許了 TCP/IP 管道 都啟用了 1433
救我吧大神們
回複討論(解決方案)
因為不在同個伺服器上
sql server 要開啟遠端存取服務並授權
sql server 遠端存取是允許的,授權是指給登入的賬戶授權嗎?
sql server 遠端存取是允許的,授權是指給登入的賬戶授權嗎?
你按管理器的提示操作
我檢查過,資料庫遠端連線是充許的,跟這個
http://wenku.baidu.com/link?url=W9y3IxRCMEfw_q_EJHESqVp2t8AmgBmjbu1_RlHrfbh9SgLw8m-eHqFwCz8Rk3hZQnLUbpUsxuQU7tnHZOgXOIY4gk9MukiHOzc1OCNIrR_
配置是一樣的
執行個體名 串連的時候不是用的IP地址 數所庫名 使用者名稱跟密碼嗎? 怎麼指定執行個體名呢?
我有些懷疑是不是sqlnlci的版本問題 或是我哪個部分配置錯誤,請幫我再看看
sqlsrv_connect( string $serverName [, array $connectionInfo])
參數
$serverName:一個字串,它指定了要已連線的服務器的名稱。此字串中可包含執行個體名稱(例如,“myServer\instanceName”)或連接埠名稱(例如,“myServer, 1521”)。有關此參數的可用選項的完整說明,請參閱 Using Connection String Keywords with SQL Native Client(將連接字串關鍵字用於 SQL Native Client)中的“Server keyword in the ODBC Driver Connection String Keywords(ODBC 驅動程式連接字串關鍵字中的伺服器關鍵字)”部分。
$connectionInfo [可選]:一個關聯 array,其中包含串連屬性(例如,array("Database" => "AdventureWorks"))。下表描述了該數組所支援的鍵:
串連代碼如下
$uid="sa";
$pwd="1234";
$db_name="test";
$serverName="155.46.2.23";
$connectionInfo=array("UID"=>$uid,"PWD"=>$pwd,"Database"=>$db_name);
$conn = sqlsrv_connect($serverName,$connectionInfo);
另外 我還試過 $serverName="155.46.2.23\執行個體名";
$serverName="155.46.2.23,1433";
$serverName="155.46.2.23\SqlExpress,1433";
加了連接埠號碼的變成TCP提供者報錯
加連接埠號碼試試
以前我用的時候都是用機器名的(用ip就連不上)
加連接埠號碼後報錯變成了這樣
怎麼看都覺得是sql server 網路設定有問題,可是網上說的遠端連線的都配了啊
這個東西有沒有影響的?
你先試試用用戶端能不能連到資料庫上,先確認參數與網路設定沒問題。
樓主你可以看看是否本機伺服器安全性原則沒有開放連接埠出站入站規則,還有對方伺服器是否開放連接埠
謝謝大家的回複,問題解決了,區域網路的網路系統管理員把對我資料庫所在伺服器的訪問限制了,他開放後我就能連上了,到處都是坑啊。。。。。。