2014-09-24 170 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秒的超時問題,您可能需要回到繪圖板上進行操作,甚至是重新考慮用戶界面以避免顯示太多數據。