2014-02-18 85 views
0

當使用EF的生成數據庫嚮導嘗試連接到我的SQLEXPRESS數據庫時,出現以下錯誤。提供程序:命名管道提供程序,錯誤:40 - 無法打開與SQL Server 2012 Express的連接

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

根據以下問題,我啓用了SQLEXPRESS的TCp/IP。

Enable remote connections for SQL Server Express 2012

我只啓用了TCP/IP設置(did'nt改變IP2和所有),並重新啓動SQL Server進程。

重新啓動服務後,在連接屬性對話框窗口中未檢測到我的服務器。

這是怎麼發生的?我現在應該怎麼做?

+0

我有一個類似的問題,只是試圖運行sqlcmd。我按照上述鏈接中的步驟操作,然後按照[在此](http://community.spiceworks.com/how_to/show/22044-recover-sa-password-on-microsoft-sql-server),確保SQL瀏覽器正在運行。我很好奇你能從cmd運行sqlcmd嗎?我也看不到一些文件夾,比如Login in Management Studio中應該在SP1中修復的文件夾。 – yardpenalty

+0

你能至少在服務器瀏覽器下測試你的數據連接嗎? – yardpenalty

+0

此外,Data Connections Box通常顯示斷開的連接,並且只需刷新即可。 – yardpenalty

回答

5

我剛碰到這個試圖建立EF連接深夜。原來我沒有正確讀取連接設置。我在服務器名稱框中輸入服務器計算機名稱,並將實例名稱放入「數據庫」框中。

'服務器名稱'應該是(COMPUTERNAME)\(INSTANCE),數據庫應該是實際的數據庫名稱。

希望這能解決您的問題!

+0

\(實例)不清楚,因爲它預選了沒有它的(computername)。感謝您對此的幫助,爲我解決了很多問題 – AJak

0

我會先嚐試從現有數據庫創建一個實體數據模型(.edmx文件),然後使用服務器資源管理器在VS2013中創建一個新的(空)數據庫(如果尚未建立)。然後使用數據實體模型嚮導使用遷移從工作數據庫創建新的表/架構到您的空數據庫。如果這不起作用,那麼你知道你的問題可能存在於你的SQL Express實例中,而不是你爲這個項目配置連接字符串的方式。

我嘗試了這些步驟,在VS2013的MVC 4項目,並沒有問題,所以也許你也可以嘗試:

步驟1:從現有的數據庫日期實體模型。右鍵單擊解決方案名稱 - >添加新項 - >ADO.NET實體數據模型 注:取消選中保存連接字符串,因爲我們使用現有的數據庫時只想樣品ADO.NET型號

STEP 2 :從服務器資源管理器中創建新的數據庫 - >數據連接 - >創建新的SQL Server數據庫(測試連接)

第3步:右鍵單擊在的.edmx圖模型,並選擇生成模型數據庫...

步驟4:啓用遷移,添加遷移MigrationName,從NuGet控制檯管理器更新數據庫。

注意:如果您計劃使用身份驗證,您將擁有兩個連接字符串。我還從NuGet安裝了EF 6.0。

相關問題