Hitachi

Hitachi Advanced Data Binder AP開発ガイド


16.18 SQLGetDiagFieldおよびSQLGetDiagFieldWのDiagIdentifierに指定できる属性

DiagIdentifierに指定できる属性を次の表に示します。

表16‒26 DiagIdentifierに指定できる属性(ヘッダフィールドの場合)

項番

診断フィールド識別子(DiagIdentifier)

診断フィールド識別子の説明(規約)

返却値

データ型

1

SQL_DIAG_CURSOR_ROW_COUNT

カーソル内の行カウント値が返されます。

ステートメントハンドルだけが有効です。ステートメントハンドル以外が指定された場合は,SQL_ERRORが返されます。

常に0が返されます。

SQLLEN

2

SQL_DIAG_DYNAMIC_FUNCTION

関数が実行したSQLステートメントが返されます。

ステートメントハンドルだけが有効です。ステートメントハンドル以外が指定された場合は,SQL_ERRORが返されます。

SQLExecuteSQLExecDirectまたはSQLExecDirectWの直後に取得できます。

次の値が返されます。

  • "ALTER TABLE"

  • "ALTER USER"

  • "ALTER VIEW"

  • "CREATE AUDIT"

  • "CREATE INDEX"

  • "CREATE SCHEMA"

  • "CREATE TABLE"

  • "CREATE USER"

  • "CREATE VIEW"

  • "DELETE"

  • "DROP AUDIT"

  • "DROP INDEX"

  • "DROP SCHEMA"

  • "DROP TABLE"

  • "DROP USER"

  • "DROP VIEW"

  • "GRANT"

  • "INSERT"

  • "PURGE CHUNK"

  • "REVOKE"

  • "SELECT CURSOR"

  • "TRUNCATE TABLE"

  • "UPDATE"

  • ""

SQLExecuteSQLExecDirect,またはSQLExecDirectWの直後以外は,常に""が返されます。

  • SQLCHAR *

  • SQLWCHAR *

3

SQL_DIAG_DYNAMIC_FUNCTION_CODE

関数が実行したSQLステートメントを示す値が返されます。

ステートメントハンドルだけが有効です。ステートメントハンドル以外が指定された場合は,SQL_ERRORが返されます。

SQLExecuteSQLExecDirectまたはSQLExecDirectWの直後に取得できます。

次の値が返されます。

  • SQL_DIAG_INSERT

  • SQL_DIAG_CREATE_TABLE

  • SQL_DIAG_ALTER_TABLE

  • SQL_DIAG_DROP_TABLE

  • SQL_DIAG_CREATE_INDEX

  • SQL_DIAG_DROP_INDEX

  • SQL_DIAG_CREATE_SCHEMA

  • SQL_DIAG_DROP_SCHEMA

  • SQL_DIAG_CREATE_VIEW

  • SQL_DIAG_DROP_VIEW

  • SQL_DIAG_UNKNOWN_STATEMENT

  • SQL_DIAG_SELECT_CURSOR

  • SQL_DIAG_UPDATE_WHERE

  • SQL_DIAG_DELETE_WHERE

  • SQL_DIAG_GRANT

  • SQL_DIAG_REVOKE

SQLExecuteSQLExecDirect,またはSQLExecDirectWの直後以外は,常にSQL_DIAG_UNKNOWN_STATEMENTが返されます。

SQLINTEGER

4

SQL_DIAG_NUMBER

利用可能なステータスレコード数が返されます。

0または1が返されます。

SQLINTEGER

5

SQL_DIAG_RETURNCODE

SQLGetDiagFieldまたはSQLGetDiagFieldWSQLGetDiagRecまたはSQLGetDiagRecWの実行直前に実行したODBC関数が返したリターンコードが返されます。

常にSQL_SUCCESSが返されます。

SQLRETURN

6

SQL_DIAG_ROW_COUNT

挿入,削除,更新処理によって変更された行数が返されます。

ステートメントハンドルだけが有効です。ステートメントハンドル以外が指定された場合は,SQL_ERRORが返されます。

常に0が返されます。

SQLLEN

表16‒27 DiagIdentifierに指定できる属性(レコードフィールドの場合)

項番

診断フィールド識別子(DiagIdentifier)

診断フィールド識別子の説明(規約)

返却値

データ型

1

SQL_DIAG_CLASS_ORIGIN

SQLSTATEのクラス部分を定義しているドキュメントを示す文字列が返されます。

次の値が返されます。

  • "ODBC 3.0"

  • "ISO 9075"

  • SQLCHAR *

  • SQLWCHAR *

2

SQL_DIAG_COLUMN_NUMBER

結果セット中の列番号またはパラメタセット中のパラメタ番号を示す値が返されます。

ステートメントハンドルだけ有効です。

常に0が返されます。

SQLINTEGER

3

SQL_DIAG_CONNECTION_NAME

接続の名前が返されます。

常に""が返されます。

  • SQLCHAR *

  • SQLWCHAR *

4

SQL_DIAG_MESSAGE_TEXT

エラーまたは警告に関するメッセージが返されます。

"[Hitachi Advanced Data Binder ODBC Driver]"で始まる文字列が返されます。

付加情報が付くことがあります。

  • SQLCHAR *

  • SQLWCHAR *

5

SQL_DIAG_NATIVE

ODBCドライバまたはデータソース固有のネイティブエラーコードが返されます。

ない場合は0が返されます。

0またはSQLCODEの値を返します。

SQLCODEについては,マニュアルHADB メッセージSQLCODEの見方を参照してください。

SQLINTEGER

6

SQL_DIAG_ROW_NUMBER

行セット中の列番号またはパラメタセット中のパラメタ番号を示す値が返されます。

ステートメントハンドルだけ有効です。

常に0が返されます。

SQLLEN

7

SQL_DIAG_SERVER_NAME

サーバ名が返されます。

常に""が返されます。

  • SQLCHAR *

  • SQLWCHAR *

8

SQL_DIAG_SQLSTATE

5文字のSQLSTATEの診断コードが返されます。

ODBC規約に定められた5文字のSQLSTATEの診断コードが返されます。

  • SQLCHAR *

  • SQLWCHAR *

9

SQL_DIAG_SUBCLASS_ORIGIN

SQL_DIAG_CLASS_ORIGINと同じ形式の有効な値を持った文字列が返されます。SQLSTATEのサブクラス部分の定義を識別するものです。

次の値が返されます。

  • "ODBC 3.0"

  • "ISO 9075"

  • SQLCHAR *

  • SQLWCHAR *