2011-02-26 45 views
1

我收到一條錯誤消息:的SQL Server命令超時 - 可執行文件只

System.Data.SqlClient.SqlException: 超時過期。

我追溯到默認設置爲30秒的命令超時。果然,在配置文件時,在點上30秒完成(失敗)。

簡單的答案是增加代碼中的CommandTimeout值。這裏有一個問題 - 我只有一個可執行文件可以使用。

正在運行的查詢是一個存儲過程,通常在18-26秒之間運行,最近一直在碰撞到30+秒範圍內。我盡我所能來優化查詢,這是一個單一的醜陋選擇三個連接表上的選擇。無論如何,這並不是一個真正的選擇,因爲數據集將繼續增長並且將來會再次成爲問題。

我在這裏和網上其他地方可以找到的所有建議都說只能在代碼設置後CommandTimeout在連接建立後的代碼中,並且沒有其他方法可以調整命令超時。

我即將準備開始反編譯可執行文件,試圖重寫/設置命令超時默認值..

如何,我可以不通過編程將命令超時值,得到什麼建議命令超時值設置容易或其他(希望)更合理的解決方案?

感謝您的幫助!

ps - 我已經讀了很長一段時間了。我的聲譽很臭,因爲我總是找到答案而無需發佈。你們真棒,我很高興我終於找到了一種開始的方式!

回答

2

您可以更改命令超時的唯一方法是更新代碼,如果您沒有應用程序的源代碼,那麼我很遺憾地說您幾乎沒有運氣。

這是一個按命令設置的值,因此命令外部的任何內容都不會影響它。

+0

謝謝米切爾 - 我害怕這一點。感謝您的快速回復。 – 2011-02-26 04:50:18