2009-07-01 27 views
3

我需要測試一些處理ASP.NET調用MS-SQL數據庫超時異常的代碼。如何在數據庫中導致超時異常?

我可以減少連接上的CommandTimeout參數,但是在達到我的代碼之前可能會導致錯誤。

是否有一個簡單的方法來導致數據庫超時'提示'?

回答

10

您要找的是sir的命令是WAITFOR命令,數據庫在隊列上超時,只要您有這種感覺。

0

編寫一個過程,循環執行一些複雜的任務,每次迭代...如果這還不夠,通過遞歸調用存儲過程進一步擴展它!

0

伊夫cheaped這拔掉我的以太網電纜笑...

3

開始在管理演播室SQL窗口交易,更新表,不要犯它:

BEGIN TRAN 
UPDATE table SET ... 

這將鎖定任何網站嘗試閱讀該表。

+0

與使用waitfor – 2009-07-01 07:20:09

+0

相比,真的很凌亂..我從來沒有見過這樣。確定我以前不需要的東西! :) – russau 2009-07-01 07:32:35

1

難道你不能只是在你想測試的任何try塊中拋出你想要的異常嗎?

-1

寫下需要執行超過30秒的過程或查詢,並且 從asp.net代碼調用此函數。

0

開始測試,然後關閉數據庫服務器(sc stop「MSSQL $ SQLEXPRESS」或其他)。

0

您可能會考慮用mock替換數據庫連接,這可能會簡化您的測試。

在這種情況下,模擬只會發出超時信號。