2012-04-25 577 views
0

我試圖從EntLib(MVC3,EntLib5,SQL Server 2008)調用一個存儲過程。我正在使用SQL Server的默認實例,並且可以很好地從SQL Server Management Studio連接到它。我嘗試了所有可以在網上找到的東西,沒有任何東西讓我連接。該服務以LocalSystem身份運行。這裏的connecction字符串:無法連接到本地SQL Server

服務器=本地;數據庫=測試; Trusted_Connection =真

這裏的錯誤消息我得到:

同時建立了發生與網絡相關的或特定於實例的錯誤連接到SQL Server。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:命名管道提供程序,錯誤:40 - 無法打開與SQL Server的連接)

+0

現在,它似乎是緩存「本地」。我如何強制它讀取新的服務器名稱? – birdus 2012-04-25 21:31:17

+0

您必須關閉並重新啓動您的應用程序。可能回收IIS中的應用程序池以獲得更好的效果(假設您使用的是IIS而不是Cassini,即內置的VS Web服務器)。 – 2012-04-25 21:42:26

+0

即使在重新啓動後,它仍似乎正在返回一個緩存結果。我確實證實了你的建議服務器名稱允許我通過EntLib連接到數據庫。這就是我試圖讀取連接字符串的方式: ConfigurationManager.ConnectionStrings [Const.ConnectionString] .ConnectionString; – birdus 2012-04-26 14:18:12

回答

3

服務器應該是「localhost」,而不是「本地」,並且應該在SQL Server配置管理器中啓用「TCP/IP」和「命名管道」協議。另外,如果您想使用可信連接,則可能需要在您的MVC3應用程序上啓用Windows身份驗證,否則請在連接字符串中提供用戶名和密碼。

1

如果您正在使用本地SQL Server,則需要使用localhost或「。」。

相關問題