繁体   English   中英

EntityException:底层提供程序在Open +内部异常上失败

[英]EntityException: The underlying provider failed on Open + inner exceptions

我事先道歉,因为我看到很多人已经回答了这个问题,但我仍然无法找到我想要的答案。

在我的解决方案中,我得到了5个项目,其中2个是C#库(Core层和数据层)。 其他3个使用Core层连接到数据层,这三个是web-API项目,测试winform项目和MVC项目。 我目前正在尝试winform项目,这就是错误发生的地方。 连接到数据库时,API项目工作正常。

正如标题所示,我在winform项目中得到了这个常见的例外

System.Data.DataException:'初始化数据库时发生异常。 有关详细信息,请参阅InnerException。

EntityException:底层提供程序在Open上失败。

具有以下内部异常

SqlException:连接超时已过期。 尝试使用登录前握手确认时超时时间已过。 这可能是因为登录前握手失败或服务器无法及时响应。 尝试连接到此服务器所花费的时间是 - [Pre-Login] initialization = 38878; 握手= 35;


Win32Exception:等待操作超时

错误发生在Database.Initialize(true);上的Datacontext中Database.Initialize(true);

    public class DataContext : DbContext
    {
        public DataContext() : base("HololensRegistreringsskyltar")
        {
            Database.SetInitializer(new DataContextInitializer<DataContext>());
            Database.Initialize(true);
        }
    }

如果重要的话,我也使用通用存储库模式和工作单元(我是新手)。

顺便说一句,API项目web.config中只有一个连接字符串,也许在其他两个“外部”层中也应该有?

谁能告诉我如何解决这个问题并让它适用于所有3个“外层”?

以下情况可能导致此异常:

  • SQL Server数据库引擎的实例未运行。
  • SQL Server Browser服务未运行。
  • TCP / IP已禁用。
  • 服务器名称输入错误。
  • 有网络问题。
  • 防火墙阻止数据库引擎实例的TCP / IP端口。
  • 客户端和服务器未配置为使用相同的网络协议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM