2009-07-01 13 views
7

Ho un gestore di eccezioni per il tipo SqlException e sto osservando la proprietà SqlException.Number dell'eccezione per determinare se si è verificato un dead-lock (1205). Sono curious, invece di scrivere SqlException.Number == 1205, c'è un enum a cui posso riferire che produrrebbe qualcosa di simile a SqlException.Number == SqlExceptionNumberEnum.DeadLockVictim?.NET SqlClient Error Number Enum Type

Potrebbe non essere possibile a causa del volume di taglio di potenziali messaggi/numeri di errore, ma è stato necessario chiedercelo. Grazie!

risposta

1

Non che io sappia. In particolare, è possibile definire i propri numeri di errore con sp_addmessage e gli errori cambiano (crescono) per versione di SQL Server, quindi sarebbe rapidamente un problema se (ad esempio) si stesse usando .NET 2.0 con SQL Server 2008, come i tuoi numeri esisterebbero.

1

Purtroppo non penso che sia fattibile. Se si esegue la seguente query,

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

produce oltre seimila righe. Potresti scrivere una piccola app per analizzare la tabella e produrre una classe C# con le proprietà const che rappresentano ciascun messaggio, ma probabilmente non ne vale la pena.

Problemi correlati