每隔一段時間,我得到這個錯誤信息,同時使使用ODBC連接字符串DB2數據庫的調用。我曾嘗試將DbCommand對象的CommandTimeout設置爲多個值,但我仍然遇到以下錯誤。SQL0666 - SQL查詢超過規定時限或存儲限制
SQL0666 - SQL查詢超出指定的時間限制或存儲限制。
有沒有竅門能讓停止示數出來。這很奇怪,因爲相同的查詢有時會起作用,有時會超時。任何幫助,將不勝感激。謝謝!
每隔一段時間,我得到這個錯誤信息,同時使使用ODBC連接字符串DB2數據庫的調用。我曾嘗試將DbCommand對象的CommandTimeout設置爲多個值,但我仍然遇到以下錯誤。SQL0666 - SQL查詢超過規定時限或存儲限制
SQL0666 - SQL查詢超出指定的時間限制或存儲限制。
有沒有竅門能讓停止示數出來。這很奇怪,因爲相同的查詢有時會起作用,有時會超時。任何幫助,將不勝感激。謝謝!
我曾嘗試DbCommand對象 的 的CommandTimeout設置爲多個值
我設置DbCommand.CommandTimeout = 0和這個固定的超時錯誤
這工作對我來說,謝謝, – GemCer 2012-01-19 21:18:17
風箏的回答是正確的但是,我希望在查找此問答時分享我的觀察/體驗,同時從SQL Server集成服務(SSIS)項目中搜索相同的錯誤消息。
我的SSIS包的今天早些時候,一個開始接收在它的一個步驟此錯誤。經過一番研究,我發現我的軟件包在通過ODBC連接到iSeries數據庫的DataReader Source
對象上失敗。我不確定這是ODBC錯誤還是iSeries/ODBC DB驅動程序中的錯誤,但錯誤消息完全相同。
對我來說,真是奇怪的事情是,我可以從在MS Access它通過相同的ODBC連接連接鏈接表瀏覽數據,我也可以訪問內運行MAKE TABLE
操作過相同的數據集沒有任何麻煩。在搜索錯誤消息後,我發現這個Q & A.此提示也適用於SSIS包。
要在SSIS中解決這個問題,你需要在微軟BIDS設計器中打開你的包。接下來,打開關聯的Data Flow Task
,然後選擇發生超時的對象DataReader Source
。
你DataReader Source
對象有一個也命名爲CommandTimeout
財產。將其設置爲0
(而不是默認的30
)應該可以解決問題。驗證超時是問題後,我將超時設置爲60
並重新執行該步驟。一分鐘超時解決了問題。
值得一提的,它可能是很有誘惑力的在所有DataReader Source
對象的更新CommandTimeout
值0
。這不被推薦。相反,保持超時並將限制增加到相當大的值。像我一樣加倍他們,或者給出更慷慨的5-10分鐘超時值。
超時屬性存在的原因。您可以爲應用程序提供慷慨的超時時間,但如果應用程序根本沒有超時,應用程序可能會暫停數據庫引擎中存在的問題,導致該步驟永遠無法執行!這可能不太可能,但並非不可能。
請保持安全並適當調整您的超時時間。
@Issac Levin,我放棄了.Net標籤並添加了SSIS標籤,以便更廣泛的受衆可以找到並使用此問答。這適用於SSIS包,因爲這是相同的錯誤,但是,修復它與修復.Net/C#項目稍有不同。 – RLH 2012-06-04 13:49:00