CLI が報告する SQLState メッセージ


表 27. CLI が報告する SQLState メッセージ

SQLSTATE CLI 関数名 説明 解説
01000 SQLAllocHandle 警告。 通知メッセージ。(関数は、SQL_SUCCESS_WITH_INFO を戻す。)
01000 SQLFreeHandle 警告。 通知メッセージ。(関数は、SQL_SUCCESS_WITH_INFO を戻す。)
01002 SQLDisconnect 切断エラー。 切断中にエラーが発生した。しかし、切断は成功した。(関数は、SQL_SUCCESS_WITH_INFO を戻す。)
01004 SQLDescribeCol データが切り捨てられた。 引き数 ColumnName に戻された列名が、引き数 BufferLength に 指定した値より長かった。引き数 NameLengthPtr に、列名全体の長さが 入っている。(関数は、SQL_SUCCESS_WITH_INFO を戻す。)
01004 SQLFetch データが切り捨てられた。 1 つ以上の列に関して戻されたデータが切り捨てられた。 ストリング値または数値は右側が切り捨てられる。(エラーがない場合には 、SQL_SUCCESS_WITH_INFO が戻される。)
01004 SQLGetData データが切り捨てられた。 指定した列 (ColumnNumber) に対して戻されたデータが切り捨てられた。 ストリング値または数値は右側が切り捨てられる。 (SQL_SUCCESS_WITH_INFO が戻される。)
01S06* SQLFetchScroll 結果セットが最初の行セットを戻す前に、取り出そうとした。 現在位置が最初の行より後であり、かつ、 FetchOrientation が SQL_PRIOR であるか、または FetchOrientation が SQL_RELATIVE であって、絶対値が現行の SQL_ATTR_ROW_ARRAY_SIZE 以下である 負の FetchOffset が指定されている際に、 要求された行セットが結果セットの先頭とオーバーラップした。(関数は、SQL_SUCCESS_WITH_INFO を戻す。)
07005 SQLDescribeCol ステートメントが結果セットを戻さなかった。 StatementHandle に関連するステートメントが結果セットを戻さなかった。 記述する列がなかった。(最初に SQLNumResultCols() を呼び出して、 結果セット内に行があるかどうかを判別する。)
07006 SQLBindParameter 無効な変換。 ValueType 引き数に指定したデータ・タイプ から ParameterType 引き数に指定したデータ・タイプへの変換が 無意味な変換である。(例えば、SQL_C_DATE から SQL_DOUBLE への変換。)
07006 SQLFetch 無効な変換。 SQLBindCol()fCType に指定したデータ・タイ プへの、データ・タイプ変換が無意味である。
07006 SQLGetData 無効な変換。 データ・タイプは、引き数 TargetType に指定した C データ・タイプに変換できない。 この関数は以前、同じ ColumnNumber 値に関して、異なる TargetType 値を使用して呼び出されていた。
07009 SQLBindCol 無効な記述子索引。 引き数 ColumnNumber に指定した値が、結果セット内の最大列数を超えている。
07009 SQLDescribeCol 無効な記述子索引。 ColumnNumber に指定した値が 0 以下である。 引き数 ColumnNumber に指定した値が、結果セット内の列数より大 きかった。
08001 SQLConnect データ・ソースに接続できない。 DB2 CLI がデータ・ソース (サーバー) との接続を確立できなかった。
08002 SQLConnect 接続が使用中。 指定した ConnectionHandle が、データ・ソースとの接続を確立するため にすでに使用されており、その接続がまだオープンされている。
08003 SQLAllocHandle 接続がクローズしている。 HandleType 引き数が SQL_HANDLE_STMT であったが、 InputHandle 引き数により指定された接続がオープンされていなかった。 DB2 CLI がステートメント・ハンドルを割り当てるには、接続処理を正常に 完了する (そしてその接続をオープンする) 必要がある。
08003 SQLDisconnect 接続がクローズしている。 引き数 ConnectionHandle に指定した接続がオープンしていない。
08004 SQLConnect アプリケーション・サーバーが接続の確立をリジェクトした。 データ・ソース (サーバー) が接続の確立をリジェクトした。
08S01 SQLFreeHandle 通信リンク障害。 HandleType 引き数が SQL_HANDLE_DBC であり、関数の処理が完了する前に、 DB2 CLI と接続を試みた先のデータ・ソースとの間の通信リンクに、障害が起きた。
22002 SQLFetch 無効な出力バッファーまたは標識バッファーの指定。 SQLBindCol() 内の引き数 pcbValue に指定したポインター値が ヌル・ポインターで、対応する列の値がヌルである。 SQL_NULL_DATA を報告する方法がない。
22002 SQLGetData 無効な出力バッファーまたは標識バッファーの指定。 引き数 StrLen_or_IndPtr に指定したポインター値がヌル・ポインターで、 列の値がヌルである。SQL_NULL_DATA を報告する方法がない。
22003 SQLExecDirect 数値が範囲外。 数値タイプ列に対する数値割り当てによって、割り当て時または中間結果の計算中に、 数値の整数部分の切り捨てが行われた。
22005 SQLGetData 割り当てのエラー。 戻り値が、引き数 TargetType に指定されるデータ・タイプと互換性がなかった。
39001 * SQLExecute ユーザー定義関数が無効な SQLSTATE を戻した。 ユーザー定義関数が無効な SQLSTATE を戻した。
40003 08S01 SQLBindCol 通信リンク・エラー。 関数の完了前に、アプリケーションとデータ・ソース間の通信リンクに障害が生じた。
40003 08S01 SQLBindParameter 通信リンク障害。 関数の完了前に、アプリケーションとデータ・ソース間の通信リンクに障害が生じた。
40003 08S01 SQLDescribeCol 通信リンク障害。 関数の完了前に、アプリケーションとデータ・ソース間の通信リンクに障害が生じた。
40003 08S01 SQLFreeStmt 通信リンク障害。 関数の完了前に、アプリケーションとデータ・ソース間の通信リンクに障害が生じた。
40003 08S01 SQLGetData 通信リンク障害。 関数の完了前に、アプリケーションとデータ・ソース間の通信リンクに障害が生じた。
40003 08S01 SQLNumResultCols 通信リンク障害。 関数の完了前に、アプリケーションとデータ・ソース間の通信リンクに障害が生じた。
40003 08S01 SQLRowCount 通信リンク障害。 関数の完了前に、アプリケーションとデータ・ソース間の通信リンクに障害が生じた。
42nnn* SQLPrepare 構文エラー。 42nnn SQLSTATES は、ステートメントに関するさまざまな 構文またはアクセスの問題を示す。 文字 nnn は、そのクラス・コードを持ついずれかの SQLSTATE を示す。 例えば、42nnn は、42 クラスの いずれかの SQLSTATE を示す。
42xxx SQLExecDirect 構文エラーまたはアクセス規則違反。 42xxx SQLSTATES は、ステートメントに関するさまざまな 構文またはアクセスの問題を示す。xxx は該当するクラス・コードを持つ いずれかの SQLSTATE を示す。例えば、42xxx は 、42 クラスのいずれかの SQLSTATE を示す。
42xxx SQLNumResultCols 構文エラー。 42xxx SQLSTATES は、ステートメントに関するさまざまな 構文またはアクセスの問題を示す。xxx は該当するクラス・コードを持つ いずれかの SQLSTATE を示す。例えば、42xxx は 、42 クラスのいずれかの SQLSTATE を示す。
58004 SQLBindCol 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLBindParameter 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLConnect 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLDescribeCol 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLDisconnect 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLExecDirect 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLFetch 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLFreeStmt 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLGetData 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLPrepare 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLNumResultCols 予期しないシステム障害。 回復不能なシステム・エラー。
58004 SQLRowCount 予期しないシステム障害。 回復不能なシステム・エラー。
59101* SQLExecute ユーザーが定義されていない。 ユーザーがモバイル・デバイス管理センター制御データベースに定義されていない。
59102* SQLExecute パスワードが正しくない。 ユーザー・パスワードがモバイル・デバイス管理センターで定義されているパスワードと一致しない。
59103* SQLExecute グループが定義されていない。 グループがモバイル・デバイス管理センターに定義されていない。
59104* SQLExecute アプリケーションが定義されていない。 アプリケーションがモバイル・デバイス管理センターに定義されていない。
59105* SQLExecute サブスクリプションが定義されていない。 AgentAdapter を使用するサブスクリプションがモバイル・デバイス管理センターに定義されていない。
59106* SQLExecute サブスクリプションが完了していない。 サブスクリプションが、リモート・ストアード・プロシージャーを起動するために必要なすべての情報を 保有していない。
59120* SQLExecute XML 変換エラー。 ユーザー入力データを XML 文書に変換するときに、AgentAdapter が失敗した。
59121* SQLExecute AgentAdapter の一般エラー。 AgentAdapter の一般エラー。
59122* SQLExecute ライブラリーのロードが失敗した。 必須ライブラリーのいくつかが、システムで見つからない。
HY000 SQLAllocHandle 一般エラー。 エラーは発生したが、特定の SQLSTATE は無い。SQLGetDiagRec()*MessageText バッファーに戻したエラー・メッセージが、 エラーとその原因を示しています。
HY000 SQLFreeHandle 一般エラー。 エラーは発生したが、特定の SQLSTATE は無い。SQLGetDiagRec()*MessageText バッファーに戻したエラー・メッセージが、 エラーとその原因を示しています。
HY001 SQLAllocHandle メモリー割り振りエラー。 DB2 CLI が、指定されたハンドル用のメモリーを割り当てることができない。
HY001 SQLBindCol メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLBindParameter メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLConnect メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLDescribeCol メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLDisconnect メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLExecDirect メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLFetch メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLFreeHandle メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLFreeStmt メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLGetData メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLPrepare メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLNumResultCols メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY001 SQLRowCount メモリーの割り振りの失敗。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーを割り当てることができない。
HY002 SQLBindCol 無効な列番号。 引き数 ColumnNumber に指定した値が 0 より小さい。 引き数 ColumnNumber に指定した値が、データ・ソースのサポートしている 最大列数を超えていた。
HY002 SQLDescribeCol 無効な列番号。 引き数 ColumnNumber に指定した値が 1 より小さい。 引き数 ColumnNumber に指定した値が、結果セット内の列数より大きい。
HY002 SQLGetData 無効な列番号。 指定した列が 0 より小さいか、結果の列数より大きい。
HY003 SQLBindCol プログラム・タイプが範囲外。 TargetType が有効なデータ・タイプまたは SQL_C_DEFAULT ではない。
HY003 SQLBindParameter プログラム・タイプが範囲外。 引き数 ParameterNumber によって指定した値が、有効なデータ・タイプ または SQL_C_DEFAULT ではない。
HY003 SQLGetData プログラム・タイプが範囲外。 TargetType が有効なデータ・タイプまたは SQL_C_DEFAULT ではない。
HY004 SQLBindParameter SQL データ・タイプが範囲外。 引き数 ParameterType に指定した値が、無効な SQL データ・タイプである。
HY009 SQLBindParameter 無効な引き数値。 引き数 ParameterValuePtrStrLen_or_IndPtr がヌル・ ポインターであり、InputOutputType が SQL_PARAM_OUTPUT ではない。
HY009 SQLExecDirect 無効な引き数値。 StatementText がヌル・ポインターである。
HY009 SQLNumResultCols 無効な引き数値。 StatementText がヌル・ポインターである。
HY010 SQLDescribeCol 関数のシーケンス・エラー。 この関数は、StatementHandle に対する SQLPrepare() また は SQLExecDirect() の呼び出しの前に呼び出される。
HY010 SQLExecute 関数のシーケンス・エラー。 指定した StatementHandle が準備済み状態ではない。 最初に SQLPrepare() を呼び出さないで、SQLExecute() を呼び出した。
HY010 SQLFetch 関数のシーケンス・エラー。 この関数は、StatementHandle に対する SQLPrepare() また は SQLExecDirect() の呼び出しの前に呼び出される。
HY010 SQLFreeHandle 関数のシーケンス・エラー。 HandleType 引き数が SQL_HANDLE_ENV であり、少なくとも 1 つの接続が 割り当て状態または接続状態である。HandleType に SQL_HANDLE_ENV を指定 して SQLFreeHandle() を呼び出す前に、接続ごと に、HandleType に SQL_HANDLE_DBC を指定 して SQLDisconnect()SQLFreeHandle() を呼び出す必要がある。 HandleType 引き数が SQL_HANDLE_DBC であり、接続に対 して SQLDisconnect() を呼び出す前に、この関数が呼び出される。 HandleType 引き数が SQL_HANDLE_STMT であり、SQLExecute() ま たは SQLExecDirect() がステートメント・ハンドルを使用して 呼び出され、SQL_NEED_DATA が戻された。(DM) SQLFreeHandle() の 呼び出し前に、付随するすべてのハンドルおよび他のリソースが解放されなかった。
HY010 SQLGetData 関数のシーケンス・エラー。 最初に SQLFetch() を呼び出さないで、この関数を呼び出した。
HY010 SQLNumResultCols 関数のシーケンス・エラー。 この関数は、StatementHandle に対する SQLPrepare() また は SQLExecDirect() の呼び出しの前に呼び出される。
HY010 SQLRowCount 関数のシーケンス・エラー。 この関数は、StatementHandle に対する SQLExecute() また は SQLExecDirect() の呼び出しの前に呼び出される。
HY013 SQLAllocHandle 予期しないメモリー処理エラー。 HandleType 引き数が SQL_HANDLE_DBC または SQL_HANDLE_STMT であったが、この関数呼び出しを処理 できない。 この理由としては、低メモリー状態のために、基礎となるメモリー・オブジェクトにアクセス できないものと思われる。
HY013 SQLBindCol 予期しないメモリー処理エラー。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーにアクセスできない。
HY013 SQLBindParameter 予期しないメモリー処理エラー。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーにアクセスできない。
HY013 SQLConnect 予期しないメモリー処理エラー。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーにアクセスできない。
HY013 SQLDescribeCol 予期しないメモリー処理エラー。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーにアクセスできない。
HY013 SQLDisconnect 予期しないメモリー処理エラー。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーにアクセスできない。
HY013 SQLExecDirect 予期しないメモリー処理エラー。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーにアクセスできない。
HY013 SQLFetch 予期しないメモリー処理エラー。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーにアクセスできない。
HY013 SQLFreeHandle 予期しないメモリー処理エラー。 HandleType 引き数が SQL_HANDLE_STMT であり、関数呼び出しを処理できない。 低メモリー状態のために、基礎となるメモリー・オブジェクトにアクセスできないためと思われる。
HY013 SQLGetData 予期しないメモリー処理エラー。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーにアクセスできない。
HY013 SQLNumResultCols 予期しないメモリー処理エラー。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーにアクセスできない。
HY013 SQLRowCount 予期しないメモリー処理エラー。 DB2 CLI が、関数を実行または完了させるのに必要なメモリーにアクセスできない。
HY014 SQLAllocHandle ハンドル数の限界に到達済み。 HandleType 引き数によって示されたハンドルのタイプに割り当てる ことができるハンドル数の限界に到達した。
HY014 SQLExecDirect ハンドル数の限界に到達済み。 内部リソースが原因で、DB2 CLI がハンドルを割り当てることができない。
HY014 SQLNumResultCols ハンドル数の限界に到達済み。 内部リソースが原因で、DB2 CLI がハンドルを割り当てることができない。
HY017 SQLFreeHandle 自動的に割り当てられた記述子ハンドルの無効な使用。 Handle 引き数が、自動的に割り振られた記述子または インプリメンテーション記述子用のハンドルに設定されている。
HY024 SQLSetStmtAttr 無効な属性値。 指定された属性 値では、ValuePtr に無効値が指定されている。
HY090 SQLBindCol 無効なストリング長またはバッファー長。 引き数 BufferLength に指定した値が 1 より小さく、 引き数 TargetType が SQL_C_CHAR、SQL_C_BINARY または SQL_C_DEFAULT の いずれかである。
HY090 SQLBindParameter 無効なストリング長またはバッファー長。 引き数 BufferLength に指定した値が 0 より小さい。
HY090 SQLDescribeCol 無効なストリング長またはバッファー長。 引き数 BufferLength に指定した長さが 1 より小さい。
HY090 SQLExecDirect 無効なストリング長またはバッファー長。 引き数 TextLength が 1 より小さい が、SQL_NTS と等しくない。
HY090 SQLGetData 無効なストリング長またはバッファー長。 引き数 BufferLength の値が 0 より小さく、 引き数 TargetType が SQL_C_CHAR または SQL_C_BINARY である。 あるいは TargetType が SQL_C_DEFAULT で、デフォルト・タイプ が SQL_C_CHAR、SQL_C_BINARY、または SQL_C_DBCHAR のいずれかである。
HY090 SQLNumResultCols 無効なストリング長またはバッファー長。 引き数 TextLength が 1 より小さい が、SQL_NTS と等しくない。
HY092 SQLAllocHandle オプション・タイプが範囲外。 HandleType 引き数が以下のいずれでもない。

SQL_HANDLE_ENV

SQL_HANDLE_DBC

SQL_HANDLE_STMT

HY092 SQLFreeStmt オプション・タイプが範囲外。 引き数 Option に指定した値が SQL_DROP または SQL_RESET_PARAMS ではない。
HY093 SQLBindParameter 無効なパラメーター番号。 引き数 ValueType に指定した値が 1 より小さいか、またはサーバーが サポートするパラメーターの最大数より大きい。
HY094 SQLBindParameter 無効な位取り値。 ParameterType に指定した値が SQL_DECIMAL または SQL_NUMERIC であり、 DecimalDigits に指定した値が 0 より小さいか、 引き数 ParamDef (精度) の値より大きい。
HY104 SQLBindParameter 無効な精度値。 ParameterType に指定した値が SQL_DECIMAL または SQL_NUMERIC のいずれかであり 、ParamDef に指定した値が 1 より小さい。
HY105 SQLBindParameter 無効なパラメーター・タイプ。 InputOutputType が SQL_PARAM_INPUT ではない。
HY106 SQLFetchScroll 取り出しタイプが範囲外。 引き数 FetchOrientation に指定した値が、無効である。 SQL_CURSOR_TYPE ステートメント属性の値が SQL_CURSOR_FORWARD_ONLY であるが、FetchOrientation 引き数の 値が SQL_FETCH_NEXT ではない。
HY107 SQLFetchScroll 行の値が範囲外。 SQL_ATTR_CURSOR_TYPE ステートメント属性で指定した値は SQL_CURSOR_KEYSET_DRIVEN で あるが、SQL_ATTR_KEYSET_SIZE ステートメント属性で指定した値がゼロより大きく、 SQL_ATTR_ROW_ARRAY_SIZE ステートメント属性で指定した値より小さい。
HY501 SQLConnect DataSource 名が無効。 指定した DataSource 名が無効である。
HYC00 SQLBindCol ドライバーが使用不可である。 引き数 TargetType に指定したデータ・タイプは、DB2 CLI が認識するが、 サポートはされない。
HYC00 SQLBindParameter ドライバーが使用不可である。 DB2 CLI またはデータ・ソースが、引き数 ValueType に指定した 値と引き数 ParameterType に指定した値との組み合わせによって指定された 変換をサポートしていない。 引き数 ParameterType に指定した値が、DB2 CLI またはデータ・ソース ではサポートされていない。
HYC00 SQLDescribeCol ドライバーが使用不可である。 ColumnNumber の SQL データ・タイプを DB2 CLI が認識しない。
HYC00 SQLGetData ドライバーが使用不可である。 指定したデータ・タイプの SQL データ・タイプが認識されたが 、DB2 CLI によってサポートされていない。要求された、SQL データ・タイプから アプリケーション・データ TargetType への変換は、DB2 CLI または データ・ソースで実行できない。

関連した解説