文書の過去の版を表示しています。
SqlException クラス (System.Data.SqlClient)
SqlException の Number に設定される番号の種類は以下の通りである。
100以下はSQLServerに接続する前のエラーであり、.NET Framework 1.1 の場合は System.Data.SqlClient.TdsParser.ProcessNetlibError メソッド内で、以下の表のような判定を行って SQLError インスタンスを生成している。
※.NET Framework 2.0 の場合は実装が変わっており、TdsParser.ProcessNetlibError メソッド自体が存在しない。
20以下の番号はSystem.Data.SqlClient.TdsEnums(private class)に定義されている番号が設定される。
番号 | TdsEnums定数 | リソース名 | メッセージ |
---|---|---|---|
-3 | public const short ZERO_BYTES_READ = -3; | SQL_ZeroBytes | サーバーから 0 バイトを読み取りました。 |
-2 | public const short TIMEOUT_EXPIRED = -2; | SQL_Timeout | タイムアウトに達しました。操作が完了する前にタイムアウト期間が過ぎたか、またはサーバーが応答していません。 |
-1 | public const short UNKNOWN_ERROR = -1; | SQL_Unknown | 原因不明のエラーです。 |
1 | public const short NE_E_NOMEMORY = 0x01; | SQL_InsufficientMemory | メモリが不足しています。 |
2 | public const short NE_E_NOACCESS = 0x02; | SQL_AccessDenied | アクセスが拒否されました。 |
3 | public const short NE_E_CONNBUSY = 0x03; | SQL_ConnectionBusy | 接続がビジーです。 |
4 | public const short NE_E_CONNBROKEN = 0x04; | SQL_ConnectionBroken | 接続が壊れています。 |
5 | public const short NE_E_TOOMANYCONN = 0x05; | SQL_ConnectionLimit | 接続時間が制限を越えました。 |
6 | public const short NE_E_SERVERNOTFOUND = 0x06; | SQL_ServerNotFound | 指定された SQL Server が見つかりません : {0} |
7 | public const short NE_E_NETNOTSTARTED = 0x07; | SQL_NetworkNotFound | ネットワークが開始されていません。 |
8 | public const short NE_E_NORESOURCE = 0x08; | SQL_InsufficientResources | ネットワーク リソースが不足しています。 |
9 | public const short NE_E_NETBUSY = 0x09; | SQL_NetworkBusy | ネットワークがビジー状態です。 |
10 | public const short NE_E_NONETACCESS = 0x0A; | SQL_NetworkAccessDenied | ネットワーク アクセスが拒否されました。 |
11 | public const short NE_E_GENERAL = 0x0B; | SQL_GeneralError | ネットワークの一般エラーです。ネットワーク ドキュメントを確認してください。 |
12 | public const short NE_E_CONNMODE = 0x0C; | SQL_IncorrectMode | 接続モードが間違っています。 |
13 | public const short NE_E_NAMENOTFOUND = 0x0D; | SQL_NameNotFound | ディレクトリ サービスに名前が見つかりませんでした。 |
14 | public const short NE_E_INVALIDCONN = 0x0E; | SQL_InvalidConnection | 接続が無効です。 |
15 | public const short NE_E_NETDATAERR = 0x0F; | SQL_ReadWriteError | ネットワーク データを読み取り中、または書き込み中にエラーが発生しました。 |
16 | public const short NE_E_TOOMANYFILES = 0x10; | SQL_TooManyHandles | 開かれているファイル ハンドルが多すぎます。 |
17 | public const short NE_E_SERVERERROR = 0x11; | SQL_SevereError | 現在のコマンドでサーバー エラーが発生しました。結果は破棄しなければなりません。 |
18 | public const short NE_E_SSLSECURITYERROR = 0x12; | SQL_SSLError | SSL セキュリティ エラーです。 |
19 | public const short NE_E_ENCRYPTIONON = 0x13; | SQL_EncryptionError | SQL Server では暗号化の設定をオンにする必要があります。 |
20 | public const short NE_E_ENCRYPTIONNOTSUPPORTED = 0x14; | SQL_EncryptionNotSupported | SQL Server でサポートされていない暗号化です。 |
21、および、101以上の番号は SQLServer の master データベースの dbo.sysmessages テーブルに定義されているものが発生する。
53などのように winerror.h に定義されている Win32エラーコードが設定される場合もある。
[SQL]
USE master SELECT * FROM dbo.sysmessages WHERE msglangid = 1041