【发布时间】:2012-05-16 11:10:40
【问题描述】:
我正在制作一个数据驱动并使用动态数据的 WPF 应用程序。现在通过我本地计算机上的开发过程,一切正常,应用程序和我的本地 sql 服务器运行正常。
现在我所做的是将我的数据库从我的本地计算机传输到我的服务器,通过将数据库复制并粘贴到我的远程服务器上的 SqlServer DATA 文件夹中。 现在我可以很好地连接到服务器了,我确保在 Visual Studio 中测试连接字符串以确保它连接,当我单击“测试连接”时,它说连接成功。
但现在当我尝试使用位于远程的数据库运行应用程序时,出现错误:
Sql 异常,超时已过期。在操作完成之前超时时间已过或服务器没有响应。
我觉得这很奇怪,因为它在 10 分钟前在我的本地机器上运行良好,所以我认为这一定是我在远程服务器上的设置或其他什么?
我也在使用 LINQ to SQL,我什至尝试编辑 LINQ to SQL 类(dbml 文件)并增加超时等,但仍然得到完全相同的错误。我不明白我做错了什么。因为整个事情不久前还在我的本地机器上运行......
任何想法是什么问题或我可以如何解决它? 谢谢
【问题讨论】:
-
您是否在启动应用程序几分钟后或启动时收到该错误?
-
您能否调试并查看究竟是哪一行导致了问题?也许发布你的连接字符串
-
这可能是app层的问题。当您连接到数据库时,您通常会为查询提供默认超时。尝试对连接运行更简单的查询。您可以发布连接声明吗?
-
使用 Profiler 跟踪 SQL 命令并查看正在执行的 SQL 是否正在接管超时(通常为 15 秒)。如果是,请从分析器中提取 SQL 并尝试在 SSMS 中执行它,看看它是 a) 运行,还是 b) 超时。如果它运行并且没有退出,我会猜测您正在调用的命令可能会调用远程 SQL 框无法访问的另一台 PC 上的其他东西。
-
大家好,感谢您的回复。我在启动它几秒钟后收到错误消息。并且尝试连接到数据库的所有命令都出现错误,我还单击了查看详细信息,在错误下我得到了这个:{System.Data.SqlClient.SqlErrorCollection} 而且我的连接字符串是这样的:Data Source=MyServerIP\ SQLEXPRESS;Initial Catalog=database;User ID=myadmin;Password=mypassword
标签: sql wpf sql-server database