2009-07-01 90 views
7

我有一個類型爲SqlException的異常處理程序,我正在查看異常的SqlException.Number屬性以確定是否發生了死鎖(1205)。我是currious,而不是編寫SqlException.Number == 1205,是否有一個枚舉我可以參考,會產生類似於SqlException.Number == SqlExceptionNumberEnum.DeadLockVictim?.NET SqlClient錯誤號枚舉類型

由於潛在的錯誤信息/數字的剪切體積,這可能是不可行的,但認爲這值得提問。謝謝!

回答

1

不是我所知道的。特別是,您可以使用sp_addmessage來定義自己的錯誤編號,並且每個SQL-Server版本的錯誤都會更改(增長),所以如果(例如)您將.NET 2.0與SQL Server 2008一起使用,將會很快成爲問題你的號碼會存在。

1

不幸的是我不認爲這是可行的。如果您運行以下查詢,

select * from sys.messages where language_id=1033 and severity between 11 and 16 

它會產生六千多行。您可以編寫一個小應用程序來解析表並生成一個C#類,其中包含表示每條消息的const屬性,但這可能不值得。