2014-09-24 252 views
0

有运行的正常工作与小套返回数据的查询网站。当用户运行一个时间框架是需要长时间运行我不断收到长时间运行的查询超时

[System.Data.SqlClient.SqlException] = {"Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding."} 

此查询不超时的SQL服务器本身上运行。

我已在在Web.config

<httpRuntime executionTimeout="360000"/> 

的项目在更新面板下运行,所以我有这个

<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="360000"/> 

我已经超时的连接字符串中设置,并设置一个在sql命令中,但没有改变。

+0

多久,当你从Management Studio中运行它的查询时间? – 2014-09-24 16:14:03

回答

1

你检查是否从SQL Server的连接配置,从您所使用的连接字符串有什么不同。我会怀疑这是它从sql服务器而不是代码工作的原因。 在sql server中默认选中一些选项。它应该在工具之下。 您可以将SET语句添加到您的代码以与其匹配。

而且看这将有助于 - http://www.serverintellect.com/support/programming/sql-qtimeout/

0

此特定错误是从SQL命令你需要增加你的SqlCommand对象上的超时。请记住,UpdatePanel命令运行在它自己的回发中,因此您使用的是与完整页面生命周期中使用的不同的SqlCommand对象。确保你将该超时设置在对更新面板有效的地方。

看到这个答案的详细信息:

Time out period not elapsed, but still timing out (see code)?

你需要确保在流水线的每一级的超时值足够大,以支持这一点。

当然,最好的选择是调整你的查询。如果您遇到了30秒的超时问题,您可能需要回到绘图板上进行操作,甚至是重新考虑用户界面以避免显示太多数据。