底层提供程序在Open - EF 6.1,MSSQL 2008 r2上失败了

时间:2014-06-14 06:48:14

标签: c# sql-server winforms entity-framework

当我们的WinApp在8-10分钟左右闲置,并尝试做一些像获取客户列表的事情时,我们得到了这个错误"基础提供商在Open"

上失败了

我使用EF6.1& MSSQL 2008 r2这是我的连接字符串:

<add 
name="MISSystemEntities" 
connectionString="metadata=res://*/DB_Model.csdl|res://*/DB_Model.ssdl|res://*/DB_Model.msl;
              provider=System.Data.SqlClient;
              provider connection string=&quot;Data Source=10.10.0.3\r2;Initial Catalog=MISSystem;User ID=user;Password=pass;MultipleActiveResultSets=True&quot;" 
providerName="System.Data.EntityClient"
/>

Sql选项自动关闭已关闭

分布式事务处理协调器对客户来说很活跃&#34;实际上我们没有使用它&#34;

在发生错误的同时没有任何时间ping服务器

使用域管理员权限进行测试但仍有问题

我们测试连接超时并使用随机值查询执行超时:(

3 个答案:

答案 0 :(得分:0)

它似乎与连接问题有关。

Seems like a connection issue. You can use the Data link properties to find if the connection is fine. Do the following,    
Create a blank notepad and rename it to "X.UDL" Double click open it, under connections tab choose the server name/enter the name use the correct credentials and DB OK to save it.    
Now open the file in Notepad and check, compare the connection string properties with this..

参考链接: - Entity Framework The underlying provider failed on Open

The underlying provider failed on open entity framework

请阅读链接

以下是Microsoft团队成员解决的相同问题解释。

http://blogs.msdn.com/b/dataaccesstechnologies/archive/2012/08/09/error-quot-the-underlying-provider-failed-on-open-quot-in-entity-framework-application.aspx

答案 1 :(得分:0)

我的问题(问题)是SQL服务器连接池:D 池化存储最后一个请求时间,当你在5-10分钟左右闲置时,然后当它收到请求时它会回答请求(!??!)但是之后池化终止你的连接和你的下一个请求抛出异常:(

现在我将计时器设置为每30秒向DB发送一个请求!

答案 2 :(得分:0)

我正在使用实体框架6和wcf web服务&#34; integrated security = true&#34;在wcf web.config中。错误消息类似。发生了什么,iis正在使用应用程序池凭据连接到数据库。一旦我在连接字符串中指定了一个用户帐户,它就像一个魅力......

希望这会有所帮助。