50396


c#でSQL serverへ接続してselect等の操作をする際にエラーが発生した場合、SqlException.Numberを取得すればSQL
serverのエラーコードが分かると思って宜しいでしょうか？  
それとも他にも情報があったりしますでしょうか？

エラーの内容をログ出力したいため質問させていただきました。

Oracleの場合は、ORAで始まるエラーコードを出力していましたが、SQL
serverの場合は、それがSqlException.Numberに入ってくると考えています。


CC BY-SA 4.0
2018-11-16T22:24:29.880
50386
2018-11-17T08:07:50.827
9228
question
c# sql-server
c# SQL serverのエラー（エラーコード）を取得する方法を教えて下さい


[SQL Serverで発生するエラー](https://docs.microsoft.com/ja-jp/sql/relational-
databases/errors-events/understanding-database-engine-errors?view=sql-
server-2017)は

  * エラー番号
  * エラー メッセージ文字列
  * Severity
  * 状態
  * プロシージャ名
  * 行番号

で管理されています。C#からSqlClientで接続した際、このエラーは[`SqlError`クラス](https://docs.microsoft.com/ja-
jp/dotnet/api/system.data.sqlclient.sqlerror?view=netframework-4.7.2)で表現され、[`SqlException`クラス](https://docs.microsoft.com/ja-
jp/dotnet/api/system.data.sqlclient.sqlexception?view=netframework-4.7.2)の`Errors`プロパティに格納されています。  
質問されているように`SqlException.Number`プロパティでも得られますが、正確には複数のエラーが格納されている可能性があることに注意してください。


CC BY-SA 4.0
2018-11-17T08:07:50.827
50396
2018-11-17T08:07:50.827
4236
50386
answer