2011-09-08 30 views
1

我們的生產數據庫增長到一個大小,其中一些長時間運行的存儲過程所花費的時間超過默認的30秒。我已經在命令對象上編程設置了一些CommandTimeouts,但對存儲過程的調用仍然在30秒後超時。CommandTimeout似乎沒有效果查詢在30秒後仍然超時

這裏就是我所做的:

  1. 在web.config中設置該屬性

    這個附加鍵= 「的CommandTimeout」 VALUE = 「180」

  2. 添加到頂部我的班級需要超時設置:

    Dim COMMAND_TIMEOUT As Integer = ConfigurationMa nager.AppSettings(「CommandTimeOut」)

  3. 創建命令對象後,設置對象的超時屬性。

    cmd.CommandTimeout = COMMAND_TIMEOUT

不幸的是我的存儲過程似乎仍然超時時,他們需要更長的時間超過30秒來執行。任何幫助將不勝感激。

+0

你確定你的代碼超過了默認值? – JeffO

+1

也有交易超時,可能會發揮作用。在事務超時(我們使用TransactionScope)之前遇到此問題是最終的罪魁禍首。 – 2011-09-08 23:53:03

+0

我假設我重寫默認值,您可以從我的評論中看到我所做的事情,並且已經調試了代碼以確保變量設置正確。不知道爲什麼它不會覆蓋默認值。 –

回答

0

檢查事務和連接超時設置以超過30秒......

希望本文能幫助,

再見

cghersi