2012-08-05 83 views
1

我已經問過這個問題,但沒有任何反應良好, 我的問題是,我有一個本地數據庫(ASPNETDB.MDF)在我的App_Data文件夾,在這裏在web.config中的連接字符串:錯誤:26 - 錯誤定位服務器/實例指定。 (無法連接到我的本地數據庫從我的主機服務器)

<add name="ApplicationServices" 
    connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" 
    providerName="System.Data.SqlClient" /> 

所以我的網站能正常工作在我的本地IIS服務器,但是當我把網站在我的主機服務器,我得到這個錯誤信息: 與網絡相關的或建立與SQL Server的連接時發生特定於實例的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:SQL網絡接口,錯誤:26 - 錯誤定位服務器/實例指定)。

在其他的服務器我有SQL Server 2008中(遠程連接被接受和我有相同的實例名稱SQLEXPRESS)。我真的盡我所能,但沒有任何好的結果。我會非常感謝你的幫助,thx。

回答

6

此格式表明本地連接:

.\SQLEXPRESS 

從另一臺服務器,你需要指定服務器名稱或IP地址,例如:

192.168.1.205\SQLEXPRESS 
YOURMACHINE\SQLEXPRESS 

您還需要驗證實例是SQL Server Express。從your other nearly identical question它看起來像一個默認實例。

你也應該停止使用這種無聊的用戶實例/ attachDbFilename技術。將數據庫正確連接到實例,然後在連接字符串中使用Initial Catalog=aspnetdb;引用邏輯數據庫名稱。此用戶實例功能由於多種原因而被棄用,這當然是其中之一。

當然可能還有其他的網絡問題,以防止這一點,例如如果服務器位於不同的域中,則防火牆設置會產生干擾等。但是,您的其他服務器永遠無法使用服務器名稱的點來訪問您的計算機。

編輯提供嬰兒的步驟,因爲很明顯我的建議沒有被遵守。假設你實際上已經附着在新服務器上的數據庫aspnetdb的,試試這個請:

connectionString="data source=192.168.85.124\SQLEXPRESS; 
    Integrated Security=SSPI; 
    Initial Catalog=aspnetdb;" 

如果您沒有使用SQL Express的命名實例畢竟嘗試:

connectionString="data source=192.168.85.124; 
    Integrated Security=SSPI; 
    Initial Catalog=aspnetdb;" 

對於SQL身份驗證使用您在Management Studio中使用相同的用戶名/密碼:

connectionString="data source=192.168.85.124; 
    User ID=username; Password=password; 
    Initial Catalog=aspnetdb;" 

這是故障排除101的東西。如果仍然不能得到這個工作,你可能要聘請顧問10分鐘,爲您解決問題,因爲這是不可能找出你做了什麼,以及爲什麼你不能得到它的工作。

+0

嗨@Aaron貝特朗,THX的答覆,這是我的新connectio字符串:<添加名稱= 「ApplicationServices」 的connectionString =「數據源= 192.168.85.124 \ SQLEXPRESS;集成安全性= SSPI;初始目錄= | DataDirectory目錄| \ aspnetdb.mdf;「providerName =」System.Data.SqlClient「/>。我犯了同樣的錯誤 ! – wben 2012-08-05 21:45:58

+0

你能給我一個例子嗎? – wben 2012-08-05 21:52:31

+1

您是否附加了aspnetdb數據庫,或者您是否希望能夠繼續使用此'| DataDirectory |'命名法並引用物理文件而不是邏輯數據庫? – 2012-08-06 00:18:02

相關問題