3.7 DBPARTNER ODBC 3.0 Driverで取得できるODBC関数の属性値

DBPARTNER ODBC 3.0 Driverで取得できるODBC関数のオプション値について説明します。各属性について,属性値を取得,又は設定できるODBC関数を次に示します。

環境属性SQLGetEnvAttr関数,SQLSetEnvAttr関数
接続属性SQLGetConnectAttr関数,SQLSetConnectAttr関数
ステートメント属性SQLGetStmtAttr関数,SQLSetStmtAttr関数
ディスクリプタフィールドSQLGetDescField関数,SQLGetDescRec関数,
SQLSetDescField関数,SQLSetDescRec関数
<この節の構成>
(1) 環境属性
(2) 接続属性
(3) ステートメント属性
(4)  ディスクリプタフィールド

(1) 環境属性

環境属性で取得できる属性値とサポート状況を表 3-12に示します。

表3-12  環境属性で取得できる属性値とサポート状況

AttributeValuePtrサポート状況備考
SQL_ATTR_CONNECTION_POOLING201SQL_CP_OFF0ULODBC
3.0
SQL_CP_ONE_PER_DRIVER1UL
SQL_CP_ONE_PER_HENV2UL
SQL_ATTR_CP_MATCH202SQL_CP_STRICT_MATCH(デフォルト)0ULODBC3.0
SQL_CP_RELAXED_MATCH1UL
SQL_ATTR_ODBC_VERSION200SQL_OV_ODBC22ULODBC
3.0
SQL_OV_ODBC33UL
SQL_ATTR_OUTPUT_NTS10001SQL_TRUE(デフォルト)1ULODBC
3.0
SQL_FALSE0UL×
(凡例)
○:DBPARTNER ODBC 3.0 Driverでサポートしています。
×:DBPARTNER ODBC 3.0 Driverではサポートしていません。

(2) 接続属性

接続属性で取得できる属性値とサポート状況を表 3-13に示します。

表3-13  接続属性で取得できる属性値とサポート状況

AttributeValuePtrサポート状況備考
SQL_ATTR_ACCESS_MODE101SQL_MODE_READ_WRITE
(デフォルト)
0ULODBC
1.0
SQL_MODE_READ_ONLY1UL
SQL_ATTR_ASYNC_ENABLE4SQL_ASYNC_ENABLE_OFF
(デフォルト)
0ULODBC
3.0
SQL_ASYNC_ENABLE_ON1UL
SQL_ATTR_AUTO_IPD10001SQL_FALSE(ORACLE接続でSQLDescribeParamを使用しない場合)0ULODBC
3.0
SQL_TRUE
(上記以外)
1UL
SQL_ATTR_AUTOCOMMIT102SQL_AUTOCOMMIT_ON
(デフォルト)
1ULODBC
1.0
SQL_AUTOCOMMIT_OFF0UL
SQL_ATTR_CONNECTION_TIMEOUT113SQLUINTEGERの値×ODBC
3.0
SQL_ATTR_CURRENT109文字列×ODBC
2.0
SQL_ATTR_LOGIN_TIMEOUT103SQLUINTEGERの値×ODBC
1.0
SQL_ATTR_METADATA_ID10014SQLUINTEGERの値ODBC
3.0
SQL_ATTR_ODBC_CURSORS110SQL_CUR_USE_IF_NEEDED0UL×ODBC
2.0
SQL_CUR_USE_ODBC1UL×
SQL_CUR_USE_DRIVER2UL×
SQL_ATTR_PACKET_SIZE112SQLUINTEGERの値×ODBC 2.0
SQL_ATTR_QUIET_MODE111ウィンドウハンドル×ODBC 2.0
SQL_ATTR_TRACE104SQL_OPT_TRACE_OFF
(デフォルト)
0ULODBC 1.0
SQL_OPT_TRACE_ON1UL×
SQL_ATTR_TRACEFILE105NULL終端文字列×ODBC 1.0
SQL_ATTR_TRANSLATE_LIB106NULL終端文字列×ODBC 1.0
SQL_ATTR_TRANSLATE_OPTION10732ビットのフラグ位置×ODBC 1.0
SQL_ATTR_TXN_ISOLATION108SQL_TXN_READ_UNCOMMITED1UL×ODBC1.0
SQL_TXN_READ_COMMITED2UL
SQL_TXN_RESPECTABLE_READ4UL×
SQL_TXN_SERIALIZABLE8UL×
(凡例)
○:DBPARTNER ODBC 3.0 Driverでサポートしています。
×:DBPARTNER ODBC 3.0 Driverではサポートしていません。
-:ODBCドライバマネージャが実装,又は読み出し専用のため該当しません。

(3) ステートメント属性

ステートメント属性で取得できる属性値とサポート状況を表 3-14に示します。

表3-14  ステートメント属性のサポート状況

AttributeValuePtrサポート状況備考
SQL_ATTR_APP_PARAM_DESC10011APDのハンドルODBC 3.0
SQL_ATTR_APP_ROW_DESC10010ARDのハンドルODBC 3.0
SQL_ATTR_ASYNC_ENABLE4SQL_ASYNC_ENABLE_OFF
(デフォルト)
0ULODBC 2.0
SQL_ASYNC_ENABLE_ON1UL
SQL_ATTR_CONCURRENCY7SQL_CONCUR_READ_ONLY
(デフォルト)
1ODBC 2.0
SQL_CONCUR_LOCK2
SQL_CONCUR_ROWVER3×
SQL_CONCUR_VALUES4×
SQL_ATTR_CURSOR_SCROLLABLE-1SQL_NONSCROLLABLE
(デフォルト)
0×ODBC 3.0
SQL_SCROLLABLE1×
SQL_ATTR_CURSOR_SENSITIVITY-2SQL_UNSPECIFIED0×ODBC
3.0
SQL_INSENSITIVE1×
SQL_SENSITIVE2×
SQL_ATTR_CURSOR_TYPE6SQL_CURSOR_FORWARD_ONLY(デフォルト)0UL×ODBC 2.0
SQL_CURSOR_KEYSET_DRIVEN1UL×
SQL_CURSOR_DYNAMIC2UL×
SQL_CURSOR_STATIC3UL×
SQL_ATTR_ENABLE_AUTO_IPD15SQL_TRUE1ODBC
3.0
SQL_FALSE0
SQL_ATTR_FETCH_BOOKMARK_PTR16ブックマーク値を指すポインタ×ODBC 3.0
SQL_ATTR_IMP_PARAM_DESC10013IPDのハンドルODBC 3.0
SQL_ATTR_IMP_ROW_DESC10012IRDのハンドルODBC 3.0
SQL_ATTR_KEYSET_SIZE8SQLUINTEGERの値×ODBC 2.0
SQL_ATTR_MAX_LENGTH3SQLUINTEGERの値ODBC 1.0
SQL_ATTR_MAX_ROWS1SQLUINTEGERの値ODBC 1.0
SQL_ATTR_METADATA_ID10014SQL_FALSE(デフォルト)0ODBC
SQL_TRUE13.0
SQL_ATTR_NOSCAN2SQL_NOSCAN_OFF(デフォルト)0ULODBC
1.0
SQL_NOSCAN_ON1UL
SQL_ATTR_PARAM_BIND_OFFSET_PTR17SQLUINTEGER*の値ODBC 3.0
SQL_ATTR_PARAM_BIND_TYPE18SQLUINTEGERの値ODBC 3.0
SQL_ATTR_PARAM_OPERATION_PTR19SQLUSMALLINT値の配列を指すSQLUSMALLINT*の値ODBC 3.0
SQL_ATTR_PARAM_STATUS_PTR20SQL_PARAM_SUCCESS0ODBC
3.0
SQL_PARAM_SUCCESS_WITH_INFO6
SQL_PARAM_ERROR5
SQL_PARAM_UNUSED7
SQL_PARAM_DIAG_UNAVAILABLE1
SQL_ATTR_PARAMS_PROCESSED_PTR21SQLUINTEGER*のレコードフィールドODBC 3.0
SQL_ATTR_PARAMSET_SIZE22SQLUINTEGERの値ODBC 3.0
SQL_ATTR_QUERY_TIMEOUT0SQLUINTEGERの値×ODBC 1.0
SQL_ATTR_RETRIEVE_DATA11SQL_RD_ON(デフォルト)1UL×ODBC
2.0
SQL_RD_OFF0UL×
SQL_ATTR_ROW_ARRAY_SIZE27SQLUINTEGERの値ODBC 3.0
SQL_ATTR_ROW_BIND_OFFSET_PTR23SQLUINTEGERの値ODBC 3.0
SQL_ATTR_ROW_BIND_TYPE5SQLINTEGERの値ODBC 3.0
SQL_ATTR_ROW_NUMBER14SQLINTEGERの値×ODBC 3.0
SQL_ATTR_ROW_OPERATION_PTR24SQLUSMALLINT値の配列を指すSQLUSMALLINT*の値×ODBC 3.0
SQL_ATTR_ROW_STATUS_PTR25SQLUSMALLINT値の配列を指すSQLUSMALLINT*の値ODBC 3.0
SQL_ATTR_ROWS_FETCHED_PTR26SQLUINTEGERの値ODBC 3.0
SQL_ATTR_SIMULATE_CURSOR10SQLUINTEGERの値×ODBC 2.0
SQL_ATTR_USE_BOOKMARKS12SQL_UB_OFF0ODBC
2.0
SQL_UB_VARIABLE2×
(凡例)
○:DBPARTNER ODBC 3.0 Driverでサポートしています。
×:DBPARTNER ODBC 3.0 Driverでサポートしていません。

(4)  ディスクリプタフィールド

ディスクリプタフィールドは,結果セットの列やSQLステートメントの動的パラメタに関する情報を保存するデータ構造体のことです。ディスクリプタのサポート状態を表 3-15に示します。

表3-15  ディスクリプタフィールドのサポート状況

種別FieldIdentifierサポートの有無合致レベル
ヘッダフィールドSQL_DESC_ALLOC_TYPECore
SQL_DESC_ARRAY_SIZECore
SQL_DESC_ARRAY_STATUS_PTRCore
(APD,IPD,IRD)
×Level1(ARD)
SQL_DESC_BIND_OFFSET_PTRCore
SQL_DESC_BIND_TYPECore
SQL_DESC_COUNTCore
SQL_DESC_ROWS_PROCESSED_PTRCore
レコードフィールドSQL_DESC_AUTO_UNIQUE_VALUE×Level2
SQL_DESC_BASE_COLUMN_NAMECore
SQL_DESC_BASE_TABLE_NAME×Level1
SQL_DESC_CASE_SENSITIVECore
SQL_DESC_CATALOG_NAME×Level2
SQL_DESC_CONCISE_TYPECore
SQL_DESC_DATA_PTRCore
SQL_DESC_DATETIME_INTERVAL_CODECore
SQL_DESC_DATETIME_INTERVAL_PRECISIONCore
SQL_DESC_DISPLAY_SIZECore
SQL_DESC_FIXED_PREC_SCALECore
SQL_DESC_INDICATOR_PTRCore
SQL_DESC_LABELLevel2
SQL_DESC_LENGTHCore
SQL_DESC_LITERAL_PREFIXCore
SQL_DESC_LITERAL_SUFFIXCore
SQL_DESC_LOCAL_TYPE_NAMECore
SQL_DESC_NAMECore
SQL_DESC_NULLABLECore
SQL_DESC_NUM_PREC_RADIXCore
SQL_DESC_OCTET_LENGTHCore
SQL_DESC_OCTET_LENGTH_PTRCore
SQL_DESC_PARAMETER_TYPECore/Level2
SQL_DESC_PRECISIONCore
SQL_DESC_SCALECore
SQL_DESC_SCHEMA_NAME×Level1
SQL_DESC_SEARCHABLECore
SQL_DESC_TABLE_NAME×Level1
SQL_DESC_TYPECore
SQL_DESC_TYPE_NAMECore
SQL_DESC_UNNAMEDCore
SQL_DESC_UNSIGNEDCore
SQL_DESC_UPDATABLECore
(凡例)
○:DBPARTNER ODBC 3.0 Driverでサポートしています。
×:DBPARTNER ODBC 3.0 Driverでサポートしていません。