付録 A: ODBC エラー コード

このトピックでは、ODBC 3 の SQLSTATE 値について説明します。x。 ODBC 3 の詳細については、以下を参照してください。x SQLSTATE 値については、「 SQLSTATE マッピング」を参照してください。

SQLGetDiagRec または SQLGetDiagField は、Open Group データ管理 で定義されている SQLSTATE 値を返します。構造化照会言語 (SQL)、バージョン 2 (1995 年 3 月)。 SQLSTATE 値は、5 文字を含む文字列です。 次の表に、ドライバーが SQLGetDiagRec に対して返すことができる SQLSTATE 値を示します。

SQLSTATE に対して返される文字列値は、2 文字のクラス値の後に 3 文字のサブクラス値が続きます。 クラス値 "01" は警告を示し、SQL_SUCCESS_WITH_INFOのリターン コードが伴います。 クラス "IM" を除く "01" 以外のクラス値はエラーを示し、戻り値SQL_ERRORが伴います。 クラス "IM" は、ODBC 自体の実装から派生した警告とエラーに固有です。 任意のクラスのサブクラス値 "000" は、その SQLSTATE にサブクラスがないことを示します。 クラス値とサブクラス値の割り当ては、SQL-92 によって定義されます。

Note

関数の正常な実行は通常、戻り値SQL_SUCCESSによって示されますが、SQLSTATE 00000 も成功を示します。

SQLSTATE エラー から返すことができます
01000 一般的な警告 次を除くすべての ODBC 関数:

SQLError

SQLGetDiagField

SQLGetDiagRec
01001 カーソル操作の競合 SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
01002 切断エラー SQLDisconnect
01003 set 関数で NULL 値が削除される SQLExecDirect

SQLExecute

SQLParamData
01004 文字列データ(右切り捨て) SQLBrowseConnect

SQLBulkOperations

SQLColAttribute

SQLDataSources

SQLDescribeCol

SQLDriverConnect

SQLDrivers

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetConnectAttr

SQLGetCursorName

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLGetEnvAttr

SQLGetInfo

SQLGetStmtAttr

SQLNative

Sql SQLParamData

SQLPutData

SQLSetCursorName
01006 特権が取り消されない SQLExecDirect

SQLExecute

SQLParamData
01007 特権が付与されていません SQLExecDirect

SQLExecute

SQLParamData
01S00 接続文字列属性が無効です SQLBrowseConnect

SQLDriverConnec
01S01 行のエラー SQLBulkOperations

SQLExtendedFetch

SQLSetPos
01S02 オプション値の変更 SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetConnectAttr

SQLSetDescField

SQLSetEnvAttr

SQLSetStmtAttr
01S06 結果セットが最初の行セットを返す前にフェッチを試みる SQLExtendedFetch

SQLFetchScroll
01S07 小数部の切り捨て SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLSetPos
01S08 ファイル DSN の保存中にエラーが発生しました SQLDriverConnect
01S09 キーワードが無効です SQLDriverConnect
07001 パラメーターの数が間違っています SQLExecDirect

SQLExecute
07002 COUNT フィールドが正しくありません SQLExecDirect

SQLExecute

SQLParamData
07005 カーソル指定ではない準備済みステートメント SQLColAttribute

SQLDescribeCol
07006 制限付きデータ型属性違反 SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
07009 記述子インデックスが無効です SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLColAttribute

SQLDescribeCol

SQLDescribeParam

SQLFetch

SQLFetchScroll

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLParamData

SQLSetDescField

SQLSetDescRecSQLSetPos
07S01 既定のパラメーターの使用が無効です SQLExecDirect

SQLExecute

SQLParamData

SQLPutData
08001 クライアントが接続を確立できない SQLBrowseConnect

SQLConnect

SQLDriverConnect
08002 使用中の接続名 SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLSetConnectAttr
08003 接続が開かない SQLAllocHandle

SQLDisconnect

SQLEndTran

SQLGetConnectAttr

SQLGetInfo

SQLNativeSql

SQLSetConnectAttr
08004 サーバーが接続を拒否しました SQLBrowseConnect

SQLConnect

SQLDriverConnect
08007 トランザクション中の接続エラー SQLEndTran
08S01 通信リンクエラー SQLBrowseConnect

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLCopyDesc

SQLDescribeCol

SQLDescribeParam

SQLDriverConnect

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetConnectAttr

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLGetFunctions

SQLGetInfo

SQLGetTypeInfo

SQLMoreResults

SQLNativeSql

SQLNumParams

SQLNumResultCols

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLPutData

SQLSetConnectAttr

SQLSetDescField

SQLSetDescRec

SQLSetEnvAttr

SQLSetStmtAttr

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
21S01 値リストの挿入が列リストと一致しない SQLExecDirect

SQLPrepare
21S02 派生テーブルの次数が列リストと一致しない SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetPos
22001 文字列データ(右切り捨て) SQLBulkOperations

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLParamData

SQLPutData

SQLSetDescField

SQLSetPos
22002 インジケーター変数は必須ですが、指定されていません SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData
22003 範囲外の数値 SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLGetInfo

SQLParamData

SQLPutData

SQLSetPos
22007 datetime 形式が無効です SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22008 Datetime フィールドオーバーフロー SQLBulkOperations

SQLExecDirect

QLParamData

SQLPutData
22012 0 で除算しました SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLPutData
22015 間隔フィールドのオーバーフロー SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22018 キャスト指定の文字値が無効です SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22019 エスケープ文字が無効です SQLExecDirect

SQLExecute

SQLPrepare
22025 エスケープ シーケンスが無効です SQLExecDirect

SQLExecute

SQLPrepare
22026 文字列データの長さが合致しません SQLParamData
23000 整合性制約違反 SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
24000 カーソル状態が無効 SQLBulkOperations

SQLCloseCursor

SQLColumnPrivileges

SQLColumns

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetData

SQLGetStmtAttr

SQLGetTypeInfo

SQLNativeSql

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetConnectAttr

SQLSetCursorName

SQLSetPos

SQLSetStmtAttr

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
25000 トランザクション状態が無効 SQLDisconnect
25S01 トランザクションの状態 SQLEndTran
25S02 トランザクションがまだアクティブです SQLEndTran
25S03 トランザクションがロールバックされる SQLEndTran
28000 承認指定が無効です SQLBrowseConnect

SQLConnect

SQLDriverConnect
34000 カーソル名が無効 SQLExecDirect

SQLPrepare

SQLSetCursorName
3C000 重複するカーソル名 SQLSetCursorName
3D000 カタログ名が無効です SQLExecDirect

SQLPrepare

SQLSetConnectAttr
3F000 スキーマ名が無効です SQLExecDirect

SQLPrepare
40001 シリアル化エラー SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLEndTran

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetTypeInfo

SQLMoreResults

SQLParamData

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
40002 整合性制約違反 SQLEndTran
40003 ステートメントの完了が不明です SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetTypeInfo

SQLMoreResults

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLParamData

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
42000 構文エラーまたはアクセス違反 SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetPos
42S01 ベース テーブルまたはビューが既に存在する SQLExecDirect

SQLPrepare
42S02 ベース テーブルまたはビューが見つかりません SQLExecDirect

SQLPrepare
42S11 インデックスは既に存在します SQLExecDirect

SQLPrepare
42S12 インデックスが見つかりません SQLExecDirect

SQLPrepare
42S21 列は既に存在します SQLExecDirect

SQLPrepare
42S22 列が見つかりません SQLExecDirect

SQLPrepare
44000 WITH CHECK OPTION 違反 SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
HY000 一般的なエラー 次を除くすべての ODBC 関数。

SQLError

SQLGetDiagField

SQLGetDiagRec
HY001 メモリ割り当てエラー 次を除くすべての ODBC 関数。

SQLError

SQLGetDiagField

SQLGetDiagRec
HY003 アプリケーション バッファーの種類が無効です SQLBindCol

SQLBindParameter

SQLGetData
HY004 SQL データ型が無効です SQLBindParameter

SQLGetTypeInfo
HY007 関連付けられたステートメントが準備されていません SQLCopyDesc

SQLGetDescField

SQLGetDescRec
HY008 操作が取り消されました 非同期的に処理できるすべての ODBC 関数:

SQLBrowseConnect

SQLBulkOperations

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLDescribeCol

SQLDescribeParam

SQLDisconnect

SQLDriverConnect

SQLEndTran

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetData

SQLGetTypeInfo

SQLMoreResults

SQLNumParams

SQLNumResultCols

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLPutData

SQLSetConnectAttr

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HY009 null ポインターの使用が無効です SQLAllocHandle

SQLBindParameter

SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLExecDirect

SQLForeignKeys

SQLGetCursorName

SQLGetData

SQLGetFunctions

SQLNativeSql

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLPutData

SQLSetConnectAttr

SQLSetCursorName

SQLSetEnvAttr

SQLSetStmtAttr

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HY010 関数シーケンス エラー SQLAllocHandle

SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLCloseCursor

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLCopyDesc

SQLDescribeCol

SQLDescribeParam

SQLDisconnect

SQLEndTran

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLFreeHandle

SQLFreeStmt

SQLGetConnectAttr

SQLGetCursorName

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLGetFunctions

SQLGetStmtAttr

SQLGetTypeInfo

SQLMoreResults

SQLNumParams

SQLNumResultCols

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLPutData

SQLRowCount

SQLSetConnectAttr

SQLSetCursorName

SQLSetDescField

SQLSetEnvAttr

SQLSetDescRec

SQLSetPos

SQLSetStmtAttr

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HY011 属性を今すぐ設定できない SQLBulkOperations

SQLParamData

QLSetPos

SQLSetStmtAttr
HY012 トランザクション操作コードが無効です SQLEndTran
HY013 メモリ管理エラー 次を除くすべての ODBC 関数:

SQLGetDiagField

SQLGetDiagRec
HY014 ハンドルの数の制限を超えました SQLAllocHandle
HY015 使用できるカーソル名がありません SQLGetCursorName
HY016 実装行記述子を変更できません SQLCopyDesc

SQLSetDescField

SQLSetDescRec
HY017 自動的に割り当てられた記述子ハンドルの使用が無効です SQLFreeHandle

SQLSetStmtAttr
HY018 サーバーがキャンセル要求を拒否しました SQLCancel
HY019 一部で送信される非文字データと非バイナリ データ SQLPutData
HY020 null 値の連結を試みます SQLPutData
HY021 一貫性のない記述子情報 SQLBindParameter

SQLCopyDesc

SQLGetDescField

SQLSetDescField

SQLSetDescRec
HY024 属性値が無効です SQLSetConnectAttr

SQLSetEnvAttr

SQLSetStmtAttr
HY090 文字列またはバッファーの長さが無効です SQLBindCol

SQLBindParameter

SQLBrowseConnect

SQLBulkOperations

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLDataSources

SQLDescribeCol

SQLDriverConnect

SQLDrivers

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetConnectAttr

SQLGetCursorName

SQLGetData

SQLGetDescField

SQLGetInfo

SQLGetStmtAttr

SQLNativeSql

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLPutData

SQLSetConnectAttr

SQLSetCursorName

SQLSetDescField

SQLSetDescRec

SQLSetEnvAttr

SQLSetStmtAttr

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HY091 記述子フィールド識別子が無効です SQLColAttribute

SQLGetDescField

SQLSetDescField
HY092 属性/オプション識別子が無効です SQLAllocHandle

QLBulkOperations

SQLCopyDesc

SQLDriverConnect

SQLEndTran

SQLFreeStmt

SQLGetConnectAttr

SQLGetEnvAttr

QLParamData

SQLSetConnectAttr

SQLSetDescField

SQLSetEnvAttr

SQLSetPos

SQLSetStmtAttr
HY095 関数の種類が範囲外 SQLGetFunctions
HY096 無効な情報の種類 SQLGetInfo
HY097 列の種類が範囲外 SQLSpecialColumns
HY098 スコープの種類が範囲外 SQLSpecialColumns
HY099 Null 許容型が範囲外 SQLSpecialColumns
HY100 一意性オプションの種類が範囲外 SQLStatistics
HY101 精度オプションの種類が範囲外 SQLStatistics
HY103 無効な取得コード SQLDataSources

SQLDrivers
HY104 有効桁数またはスケール値が無効です SQLBindParameter
HY105 パラメーターの型が無効です SQLBindParameter

SQLExecDirect

SQLExecute

SQLParamData

SQLSetDescField
HY106 フェッチの種類が範囲外 SQLExtendedFetch

SQLFetchScroll
HY107 行の値が範囲外 SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLSetPos
HY109 カーソル位置が無効です SQLExecDirect

SQLExecute

SQLGetData

SQLGetStmtAttr

SQLNativeSql

SQLParamData

SQLSetPos
HY110 ドライバーの入力候補が無効です SQLDriverConnect
HY111 ブックマークの値が無効です SQLExtendedFetch

SQLFetchScroll
HYC00 省略可能な機能が実装されていません SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLDriverConnect

SQLEndTran

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetConnectAttr

SQLGetData

SQLGetEnvAttr

SQLGetInfo

SQLGetStmtAttr

SQLGetTypeInfo

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetConnectAttr

SQLSetEnvAttr

SQLSetPos

SQLSetStmtAttr

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HYT00 タイムアウトに達しました SQLBrowseConnect

SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLDriverConnect

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLForeignKeys

SQLGetTypeInfo

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HYT01 接続のタイムアウト 次を除くすべての ODBC 関数。

SQLDrivers

SQLDataSources

SQLGetEnvAttr

SQLSetEnvAttr
IM001 ドライバーは、この関数をサポートしていません 次を除くすべての ODBC 関数。

SQLAllocHandle

SQLDataSources

SQLDrivers

SQLFreeHandle

SQLGetFunctions
IM002 データ ソース名が見つからず、既定のドライバーが指定されていません SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM003 指定されたドライバーを読み込めませんでした SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM004 SQL_HANDLE_ENVのドライバーの SQLAllocHandle が失敗しました SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM005 SQL_HANDLE_DBCのドライバーの SQLAllocHandle が失敗しました SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM006 ドライバーの SQLSetConnectAttr が失敗しました SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM007 データ ソースまたはドライバーが指定されていない。ダイアログは禁止されています SQLDriverConnect
IM008 ダイアログが失敗しました SQLDriverConnect
IM009 翻訳 DLL を読み込むことができません SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLSetConnectAttr
IM010 データ ソース名が長すぎます SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM011 ドライバー名が長すぎます SQLBrowseConnect

SQLDriverConnect
IM012 DRIVER キーワード構文エラー SQLBrowseConnect

SQLDriverConnect
IM013 トレース ファイル エラー すべての ODBC 関数。
IM014 ファイル DSN の名前が無効です SQLDriverConnect
IM015 破損したファイル データ ソース SQLDriverConnect