实体框架无法连接到网络数据库

时间:2015-01-27 23:47:17

标签: c# sql-server entity-framework

我的桌面上有一个SQL Server 2008数据库,我想在我的笔记本电脑上开发一个项目。

我使用服务器资源管理器窗口(数据连接>添加连接)测试了从笔记本电脑到数据库的连接,一切运行正常。找到了数据库,我可以访问我的表并查看数据。

然后我添加了一个ADO.NET实体数据模型(=实体框架)。集成工作正常:它创建了正确的类,我可以编辑模型,更新它将关于我将从服务器传递的修改,...

然后,当我运行我的项目时,它需要使用Entity Framework创建的类读取一些数据,但它崩溃了:

  

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

我看了一下,发现有些人在Sql Server配置管理器中遇到TCP / IP配置问题,正如here所解释的那样。做了修改,重新启动了我的所有服务,但它没有解决我的问题。

有没有人知道如何解决这个问题(请注意,我尝试过没有防火墙,所以似乎不是来自这个)。此外,如果有帮助,请考虑以下内容:

  • 笔记本电脑通过wifi路由器(互联网盒)连接
  • 项目托管在服务器硬盘上
  • 项目从服务器运行良好

2 个答案:

答案 0 :(得分:1)

我通过检查" Advanced"中提供的选项找到了解决方案。连接向导的一部分。可以强制使用网络库(TCP / IP,命名管道,共享内存或VIA),默认情况下它是空白的(我猜自动选择了错误的选项)。

我尝试了所有这些,只有"命名管道"为我工作。

可以通过添加

在连接字符串中手动完成修改
;network library=dbnmpntw

答案 1 :(得分:0)

确保在运行已分离数据库的项目之前。通过右键单击位于AppData文件夹中的数据库,然后单击 Detach

来执行此操作