Hitachi

Hitachi Advanced Data Binder AP開発ガイド


16.16 SQLSetStmtAttr,SQLSetStmtAttrW,SQLGetStmtAttrおよびSQLGetStmtAttrWに指定できる属性

SQLSetStmtAttrSQLSetStmtAttrWSQLGetStmtAttrおよびSQLGetStmtAttrWに指定できる属性を次の表に示します。

表16‒23 SQLSetStmtAttr,SQLSetStmtAttrW,SQLGetStmtAttrおよびSQLGetStmtAttrWに指定できる属性

項番

属性(Attribute)

属性の説明(規約)

サポートの状況

データ型

1

SQL_ATTR_APP_PARAM_DESC

次にSQLExecuteSQLExecDirectまたはSQLExecDirectWを行うときに使用できるAPDのハンドルを指定します。

次のどれかを指定します。

  • 明示的に割り当てられたAPD

  • SQL_NULL_HDESC

    自動的に割り当てられたAPDになります。

  • 自動的に割り当てられたAPD

次の値をサポートします。

  • 明示的に割り当てられたAPD

  • SQL_NULL_HDESC

  • 自動的に割り当てられたAPD

SQLHDESC

2

SQL_ATTR_APP_ROW_DESC

次にフェッチを行うときに使用できるARDのハンドルを指定します。

次のどれかを指定します。

  • 明示的に割り当てられたARD

  • SQL_NULL_HDESC

    自動的に割り当てられたARDになります。

  • 自動的に割り当てられたARD

次の値をサポートします。

  • 明示的に割り当てられたARD

  • SQL_NULL_HDESC

  • 自動的に割り当てられたARD

SQLHDESC

3

SQL_ATTR_ASYNC_ENABLE

この関数のStatementHandleに指定されたステートメントハンドルを引数として呼び出す関数を非同期に実行するかどうかを指定します。

SQL_ASYNC_ENABLE_OFF

非同期実行しません。

次の値をサポートします。

  • SQL_ASYNC_ENABLE_OFF

SQLULEN

4

SQL_ATTR_CONCURRENCY

カーソルの同時実行に関する指定をします。

SQL_CONCUR_READ_ONLY

カーソルは読み出しだけが実行できます。更新はできません。

次の値をサポートします。

  • SQL_CONCUR_READ_ONLY

SQL_CONCUR_READ_ONLY以外を設定した場合,HADB ODBCドライバがSQL_CONCUR_READ_ONLYに書き換えて,SQL_SUCCESS_WITH_INFOを返却します。

SQLULEN

5

SQL_ATTR_CURSOR_SCROLLABLE

アプリケーションが要求するサポートのレベルを指定します。

SQL_NONSCROLLABLE

ステートメントハンドルに対してスクロール可能なカーソルは要求されません。

次の値をサポートします。

  • SQL_NONSCROLLABLE

SQL_NONSCROLLABLE以外を設定した場合,HADB ODBCドライバがSQL_NONSCROLLABLEに書き換えて,SQL_SUCCESS_WITH_INFOを返却します。

SQLULEN

6

SQL_ATTR_CURSOR_SENSITIVITY

ステートメントハンドル上のカーソルが,別のカーソルが結果セットに対して行った変更を検出するかどうかを指定します。

SQL_UNSPECIFIED

カーソルの種類とカーソルが,ステートメントハンドル上で別のカーソルが結果セットに対して行った変更を検出するかどうかを指定しません。

次の値をサポートします。

  • SQL_UNSPECIFIED

SQL_UNSPECIFIED以外を設定した場合,HADB ODBCドライバがSQL_UNSPECIFIEDに書き換えて,SQL_SUCCESS_WITH_INFOを返却します。

SQLULEN

7

SQL_ATTR_CURSOR_TYPE

カーソルの種類を指定します。

SQL_CURSOR_FORWARD_ONLY

カーソルは前方にだけスクロールします。

次の値をサポートします。

  • SQL_CURSOR_FORWARD_ONLY

SQL_CURSOR_FORWARD_ONLY以外を設定した場合,HADB ODBCドライバがSQL_CURSOR_FORWARD_ONLYに書き換えて,SQL_SUCCESS_WITH_INFOを返却します。

SQLULEN

8

SQL_ATTR_ENABLE_AUTO_IPD

IPDの値の自動設定を実行するかどうかを指定します。

未サポート属性です。

9

SQL_ATTR_FETCH_BOOKMARK_PTR

バイナリのブックマーク値のポインタを指定します。

未サポート属性です。

10

SQL_ATTR_IMP_PARAM_DESC

ステートメントハンドルを最初に割り当てたときに割り当てられるIPDのハンドルを指定します。

次の値をサポートします。

  • 自動的に割り当てられたIPD

SQLHDESC

11

SQL_ATTR_IMP_ROW_DESC

ステートメントハンドルを最初に割り当てたときに割り当てられるIRDのハンドルを指定します。

次の値をサポートします。

  • 自動的に割り当てられたIRD

SQLHDESC

12

SQL_ATTR_KEYSET_SIZE

キーセットカーソルに対するキーセットの行数を指定します。

未サポート属性です。

13

SQL_ATTR_MAX_LENGTH

データソース間(サーバ・ホスト間)通信での,文字列またはバイナリ列の最大データ長を指定します。

0

データソースは有効なデータをすべて返します。

次の値をサポートします。

  • 0

SQLULEN

14

SQL_ATTR_MAX_ROWS

データソース間(サーバ・ホスト間)通信での,SELECTステートメントに対して返される行の最大数を指定します。

0

データソースはすべての行を返します。

次の値をサポートします。

  • 0

SQLULEN

15

SQL_ATTR_METADATA_ID

カタログ関数の文字列引数を扱う方法を指定します。

SQL_FALSE

大文字と小文字は区別され,カタログ関数の文字列引数は識別子と見なされません。

次の値をサポートします。

  • SQL_FALSE

SQLULEN

16

SQL_ATTR_NOSCAN

ドライバがエスケープシーケンスに対して構文解析を行い,DBMS固有の文法に変換されるかどうかを指定します。

SQL_NOSCAN_OFF

ドライバは,エスケープシーケンスに対して,DBMS固有の文法に変換します。

SQL_NOSCAN_ON

ドライバは,エスケープシーケンスに対して,DBMS固有の文法に変換しません。

次の値をサポートします。

  • SQL_NOSCAN_OFF

  • SQL_NOSCAN_ON

SQLULEN

17

SQL_ATTR_PARAM_BIND_OFFSET_PTR

動的パラメタのバインド時に使用されるポインタに加算するオフセットのポインタを指定します。

NULL

加算しません。

次の値をサポートします。

  • NULL

SQLULEN *

18

SQL_ATTR_PARAM_BIND_TYPE

動的パラメタに使用するバインドの方向を指定します。

SQL_PARAM_BIND_BY_COLUMN

列方向バインドを指定します。

次の値をサポートします。

  • SQL_PARAM_BIND_BY_COLUMN

SQLULEN

19

SQL_ATTR_PARAM_OPERATION_PTR

SQLステートメントの実行中にパラメタを無視するために使用する配列を指定します。

NULL

ドライバはパラメタのステータス値を返しません。

次の値をサポートします。

  • NULL

SQLUSMALLINT *

20

SQL_ATTR_PARAM_STATUS_PTR

SQLExecuteSQLExecDirectまたはSQLExecDirectWの呼び出し後,パラメタ値の各行に対してステータス情報を格納する配列を指定します。

NULL

SQLUSMALLINTのポインタ

ドライバはパラメタのステータス値を返しません。

次の値をサポートします。

  • NULL

  • SQLUSMALLINTのポインタ(NULL以外)

SQLUSMALLINT *

21

SQL_ATTR_PARAMS_PROCESSED_PTR

ドライバが,処理済みのパラメタセット数(エラーセットを含む)を返す変数のアドレスを指定します。

NULL

SQLULENのポインタ

パラメタセットの数は返されません。

次の値をサポートします。

  • NULL

  • SQLULENのポインタ(NULL以外)

SQLULEN *

22

SQL_ATTR_PARAMSET_SIZE

各パラメタセットの値の個数を指定する属性です。

次の値をサポートします。

  • 1

1以外を設定した場合は,HADB ODBCドライバが1に書き換えて,SQL_SUCCESS_WITH_INFOを返却します。

SQLULEN

23

SQL_ATTR_QUERY_TIMEOUT

アプリケーションが,SQLステートメントが実行されるまで待つ時間(秒数)を指定します。

未サポート属性です。

24

SQL_ATTR_RETRIEVE_DATA

SQLFetchが,カーソルを指定の場所に位置づけたあとにデータを取得するかどうかを指定します。

SQL_RD_ON

SQLFetchは,カーソルを指定の場所に位置づけたあとにデータを取得します。

次の値をサポートします。

  • SQL_RD_ON

SQLULEN

25

SQL_ATTR_ROW_ARRAY_SIZE

SQLFetchまたはSQLFetchScrollが返す行数を指定します。

次の値をサポートします。

  • 1

SQLULEN

26

SQL_ATTR_ROW_BIND_OFFSET_PTR

列データのバインドを変更するために,ポインタに加算するオフセットのポインタを指定します。

NULL

加算しません。

次の値をサポートします。

  • NULL

SQLULEN *

27

SQL_ATTR_ROW_BIND_TYPE

関連づけられたステートメントに対してSQLFetchまたはSQLFetchScrollが呼び出されたときに使用されるバインドの方向を指定します。

SQL_BIND_BY_COLUMN

列方向バインドを指定します。

次の値をサポートします。

  • SQL_BIND_BY_COLUMN

SQLULEN

28

SQL_ATTR_ROW_NUMBER

結果セットの現在の行番号を指定します。

未サポート属性です。

29

SQL_ATTR_ROW_OPERATION_PTR

SQLSetPosで一括処理中に行を無視するために使用する配列を指定します。

NULL

ドライバは行を無視しません。

次の値をサポートします。

  • NULL

SQLUSMALLINT *

30

SQL_ATTR_ROW_STATUS_PTR

SQLFetchまたはSQLFetchScrollを呼び出したあと,行のステータス値を格納する配列のポインタを指定します。

NULL

ドライバは行のステータス値を返しません。

次の値をサポートします。

  • NULL

  • SQLUSMALLINTのポインタ(NULL以外)

SQLUSMALLINT *

31

SQL_ATTR_ROWS_FETCHED_PTR

SQLFetchまたはSQLFetchScrollを呼び出したあと,フェッチされた行数を格納するバッファのポインタを指定します。

NULL

ドライバはフェッチされた行数を返しません。

次の値をサポートします。

  • NULL

  • SQLULENのポインタ(NULL以外)

SQLULEN *

32

SQL_ATTR_SIMULATE_CURSOR

位置づけ更新ステートメントと位置づけ削除ステートメントをシミュレートするドライバが,このステートメントで単一の行だけを変更するかどうかを指定します。

未サポート属性です。

33

SQL_ATTR_USE_BOOKMARKS

アプリケーションがカーソルでブックマークを使用するかどうかを指定します。

未サポート属性です。

(凡例)−:該当しません。