我在我的電腦上安裝了sql server 2008,並嘗試從php代碼連接到它。我無法從php連接到ms sql服務器
$server = "127.0.0.1:1433\MSSQLSERVER";
mssql_connect($server, 'sa', '123456');
並面臨此錯誤。
無法連接到服務器:127.0.0.1:1433\MSSQLSERVER
請幫助我。
我在我的電腦上安裝了sql server 2008,並嘗試從php代碼連接到它。我無法從php連接到ms sql服務器
$server = "127.0.0.1:1433\MSSQLSERVER";
mssql_connect($server, 'sa', '123456');
並面臨此錯誤。
無法連接到服務器:127.0.0.1:1433\MSSQLSERVER
請幫助我。
您是否使用命名實例MSSQLSERVER? SQLExpress默認使用命名實例MSSQLSERVER。 SQL Server不這樣做,它的默認是不使用命名實例。
SQL中的默認數據庫將在端口1433上運行,除非您在設置時另行指定。默認情況下,如果您沒有指定並嘗試連接它,大多數應用程序會認爲這是端口。命名實例的目的是每個數據庫實例都在其自己的端口上運行,因此如果指定了一個實例,則在1433上運行的默認實例將以「沒有傢伙想要的數據庫在此端口上運行」進行響應。
你剛剛嘗試過127.0.0.1:1433嗎?
[更新]
上次我打了PHP和SQL Server我用odbc_connect而不是mssql_connect和我的設置與連接參數的DSN條目。這是我使用的代碼。
$dsn="MyDatabase";
$username="phpUser";
$password="whatever";
$sqlconnect=odbc_connect($dsn, $username, $password);
$sqlquery="SELECT * FROM Sample;";
$results= odbc_exec($sqlconnect,$sqlquery);
[UPDATE2]
微軟發佈Microsoft Drivers for PHP for SQL Server,有一個new way連接MSSQL。
如果您使用的是Windows,請打開命令提示符並使用'netstat'來確保SQL服務器實際上正在偵聽端口1433. 不幸的是,「無法連接」錯誤消息是非常通用的,可以是造成了很多事情。 – 2012-03-09 19:37:22
1433位於**'HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ MSSQLSERVER \ MSSQLSERVER \ SUPERSOCKETNETLIB \ TCP **中,但不在netstat中 – Ehsan 2012-03-09 19:40:28
您是否可以使用管理工作室進行連接? – AlexC 2012-03-09 19:42:09