我的桌面上有一个SQL Server 2008数据库,我想在我的笔记本电脑上开发一个项目。
我使用服务器资源管理器窗口(数据连接>添加连接)测试了从笔记本电脑到数据库的连接,一切运行正常。找到了数据库,我可以访问我的表并查看数据。
然后我添加了一个ADO.NET实体数据模型(=实体框架)。集成工作正常:它创建了正确的类,我可以编辑模型,更新它将关于我将从服务器传递的修改,...
然后,当我运行我的项目时,它需要使用Entity Framework创建的类读取一些数据,但它崩溃了:
连接超时已过期。尝试使用登录前握手确认时超时时间已过。这可能是因为登录前握手失败或服务器无法及时响应。尝试连接到此服务器所花费的时间是 - [Pre-Login] initialization = 63057; handshake = 2;
我看了一下,发现有些人在Sql Server配置管理器中遇到TCP / IP配置问题,正如here所解释的那样。做了修改,重新启动了我的所有服务,但它没有解决我的问题。
有没有人知道如何解决这个问题(请注意,我尝试过没有防火墙,所以似乎不是来自这个)。此外,如果有帮助,请考虑以下内容:
答案 0 :(得分:1)
我通过检查" Advanced"中提供的选项找到了解决方案。连接向导的一部分。可以强制使用网络库(TCP / IP,命名管道,共享内存或VIA),默认情况下它是空白的(我猜自动选择了错误的选项)。
我尝试了所有这些,只有"命名管道"为我工作。
可以通过添加
在连接字符串中手动完成修改;network library=dbnmpntw
答案 1 :(得分:0)
确保在运行已分离数据库的项目之前。通过右键单击位于AppData
文件夹中的数据库,然后单击 Detach