首页新闻找找看学习计划

The underlying provider failed on Open

0
悬赏园豆:60 [已解决问题] 解决于 2014-09-23 10:49

在登录系统,通过linq查询时发生错误The underlying provider failed on Open.

使用entityframe4,部分电脑正常。个别一登陆就报这个错,请大咖们赐教。

wcsprogram的主页 wcsprogram | 初学一级 | 园豆:21
提问于:2014-09-02 16:51
< >
分享
最佳答案
0

错误信息要翻译吗?

出现这个错误,明显是数据库连接失败导致的。

既然部分电脑正常,说明你的数据库连接字符串本身应该是没问题的。

还有这个问题,那么:不正常的电脑能使用你提供的数据库连接字符串连接到数据库吗?可能是不在一个网段时使用了本地的IP地址,也可能这些电脑在防火墙层次被屏蔽了。

收获园豆:25
519740105 | 大侠五级 |园豆:5810 | 2014-09-02 16:57

一查询就报错,在一个网段的。按你这么说就是防火墙的问题了?

wcsprogram | 园豆:21 (初学一级) | 2014-09-02 17:27

@wcsprogram: 很可能。

你可以:

1、在这些电脑上安装SQL管理器连接数据库看是否成功(这个复杂点)

2、写一个简单的控制台或桌面应用,不要走什么EF,就直接用SqlConnection连接数据库,查看结果

此外,你还可以通过minisniffer跟踪下是否有对外访问。

519740105 | 园豆:5810 (大侠五级) | 2014-09-02 17:39

@519740105: 已经关了防火墙还是一样报错,晚上写个程序,明天再试下,是否可以连接数据库。

wcsprogram | 园豆:21 (初学一级) | 2014-09-02 21:51
其他回答(6)
0

在微软论坛上找的,希望对你有用

http://social.technet.microsoft.com/Forums/zh-CN/091b1eac-4ed6-43b8-b184-a713d1f2b9eb/entity-framework-the-underlying-provider-failed-on-open

收获园豆:5
三国郭海 | 园豆:280 (菜鸟二级) | 2014-09-02 17:06
0

找台不能连接的电脑看能不能通过你的数据库连接字符串链接数据库。

收获园豆:30
晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-09-02 17:31
0

哎,我有时候也报这个错,这个跟数据库连接没关系,是并发的问题,我本地都偶尔出现这个问题,也在找解决办法。

The context cannot be used while the model is being created. This exception may be thrown if the context is used inside the OnModelCreating method or if the same context instance is accessed by multiple threads concurrently. Note that instance members of DbContext and related classes are not guaranteed to be thread safe.

还有这个错误也是偶尔出现,不好意思,借贵地提问了。

Engineer | 园豆:131 (初学一级) | 2014-09-03 15:09

这也是用EF吗?是不是程序里多实例了上下文对象?

支持(0) 反对(0) wcsprogram | 园豆:21 (初学一级) | 2014-09-03 22:51

@wcsprogram: 是的ef6,一个action中多个上下文,如果狂刷一个页面就会出现这个问题!

支持(0) 反对(0) Engineer | 园豆:131 (初学一级) | 2014-09-03 23:04
0
zhujinhu | 园豆:29 (初学一级) | 2015-06-30 11:36
0

数据库链接字符串权限不够 我用windows服务验证就报这个错,改用户名和密码连接就行

_York | 园豆:2 (初学一级) | 2017-12-15 09:48
1

确实修改连接字符串的为账号密码就能解决

绿龙术士 | 园豆:202 (菜鸟二级) | 2018-02-07 14:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册