2011-10-27 52 views
0

我試圖連接到現有的數據庫(非SQLEXPRESS),但每次我嘗試訪問它。我得到以下錯誤:The provider did not return a ProviderManifestToken string.DbContext與非SQLEXPRESS實例

我傳遞一個SqlConnection實例構造DbContext(DbConnection, bool)和實例怎麼一回事,因爲我被剛好路過的連接字符串得到同樣的錯誤在構造函數中的連接。這兩種方法都會得到相同的錯誤。

這是完整的SQL Server 2008和2005

UPDATE上發生的情況:閱讀下面我的解決方案。

摘要:總是尋找內部異常,當你收到提供者未返回ProviderManifestToken串

+1

你有沒有在這個檢查答案[SO](http://stackoverflow.com/questions/5423278/ef-4-1-提供者沒有返回一個providermanifesttoken字符串)的問題? – nemesv

回答

0

看起來這是一個連接問題,只要實體框架發現連接問題,它就會告訴你這個與這個絕妙的消息無關的事情,或者與實際問題無關。如果您無法查看現有數據庫,那麼EF在數據庫初始化過程中也可能會出現此錯誤,因爲在生產中這很容易發生。好事他們包括內在的例外,我能夠弄清楚這一點。

啓用SQL Browser服務後,我能夠與服務器通信。連接出現問題並啓動服務引發了正確的功能。該服務再次停止,但連接仍在。

順便說,內部異常是:ERROR 40A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, *error: 40 - Could not open a connection to SQL Server)

1

只是嘗試打開連接而不使用EF來驗證連接字符串是正確的,所有登錄信息都有效,因爲EF有時會用屏蔽這些錯誤「提供程序沒有返回ProviderManifestToken」,在這種情況下,這意味着無法連接到數據庫。

+0

感謝您的迴應。 –