簡體   English   中英

WCF和實體框架和SQL Server - “底層提供程序在Open上失敗”

[英]WCF & Entity Framework & SQL Server - “The underlying provider failed on Open”

我通過WCF測試客戶端成功運行測試,直到我嘗試使用Entity Framework提取數據。

為了確保我沒有做任何愚蠢的事情,我從本教程中下載了示例代碼,該代碼執行類似的操作: http//www.codeproject.com/KB/WCF/WCFandEF.aspx

...當我運行它時,我在類似的地方得到了同樣的錯誤:

var productEntity = (from p in context.ProductEntities 
                     where p.ProductID == id
                     select p).FirstOrDefault();

錯誤是

底層提供程序在Open上失敗。

我可以使用相同的連接字符串從“普通應用程序”打開數據庫,它似乎是從WCF測試客戶端特定訪問數據庫。

在這里和谷歌上進行研究“基礎提供商在開放時失敗了”。 通常表示這是一個連接字符串問題,但我很確定它不是在這種情況下。

所以現在我希望它是某種權限問題。

我正在使用Visual Studio 2010的SQL Server和Windows 7。

從昨天開始,我一直在敲打我的腦袋,所以任何幫助或保護頭盔都會受到贊賞。

編輯包含連接字符串

<add name="NorthwindEntities" 
     connectionString="metadata=res://*/Northwind.csdl|res://*/Northwind.ssdl|res://*/Northwind.msl;provider=System.Data.SqlClient;provider
connection string=&quot;Data Source=localhost;Initial Catalog=Northwind;User ID=sa;MultipleActiveResultSets=True&quot;" 
     providerName="System.Data.EntityClient" />

此錯誤表示連接字符串中存在100%問題。

創建一個可靠的連接字符串的好方法是創建一個新的(虛擬)項目,向其添加一個實體框架數據模型,選擇“從數據庫生成模型”,選擇所需的連接,然后單擊“測試連接”為確定它有效。
確保選中“”將App.Config中的實體連接設置保存為:...“。
在web / app.Config中,你有一個連接字符串,你可以復制+粘貼到你自己的項目

您是否嘗試將數據庫密碼插入連接字符串? 它對我有用。

參考: http//stack247.wordpress.com/2011/03/02/entity-framework-exception-the-underlying-provider-failed-on-open/

好吧,我有幾天相同的錯誤...實際兩天,是的, 我找到了解決方案 Alhamdulillah ..

至於我...我在我的實體服務連接上設置了Windows身份驗證..所以我做的是我去了IIS 7應用程序池高級設置的Web服務...將身份從'ApplicationPoolIdentity'更改為'網絡服務'我也設置了我當前的用戶名和密碼。

我可能會在以后遇到其他一些問題,但我仍然會說一個好的開始:-)!

我刪除了“integrated security = True;” 這樣解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM