簡體   English   中英

使用SQL0666錯誤執行時的ODBC命令錯誤

[英]ODBC Command Errors on Execute with SQL0666 Error

我正在運行使用OdbcCommand的ASP.NET 4.0應用程序。 默認情況下,命令超時為30秒。 當我運行網頁時,出現“ SQL0666-SQL查詢超出指定的時間限制或存儲限制”的查詢錯誤。 錯誤。 Execute Reader行在執行后不到2秒內失敗,遠遠少於Command Timeout。 我添加了一行以將CommandTimeout設置為300秒並執行了代碼。 Execute Reader將運行,整個頁面將在15秒內加載,再次小於Command Timeout值。 如果我運行更改添加的行,以將“命令超時”設置為30秒,則代碼錯誤將在2秒內出現,並且與上面相同。 該查詢本身只有大約15行,可以在幾秒鍾內在IDE中運行。

原始代碼在不到兩秒鍾的時間內出錯

using (IDataReader reader = this._commandExecuter.ExecuteReader(cmdData))
{
     //do stuff
}

15秒內運行的代碼:

cmdData.CommandTimeout = 300;
using (IDataReader reader = this._commandExecuter.ExecuteReader(cmdData))
{
     //do stuff
}

在不到2秒鍾的時間內對錯誤進行編碼:

 cmdData.CommandTimeout = 30;
using (IDataReader reader = this._commandExecuter.ExecuteReader(cmdData))
{
     //do stuff
}

有人遇到過這個問題嗎? 除了將超時設置為有效值之外,您是否找到了其他解決方案?

有時我遇到了類似的問題,我們將超時設置為零來解決:

cmdData.CommandTimeout = 0;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM