DBPARTNER ODBC 3.0 Driverで取得できるODBC関数のオプション値について説明します。各属性について,属性値を取得,又は設定できるODBC関数を次に示します。
環境属性 | SQLGetEnvAttr関数,SQLSetEnvAttr関数 |
接続属性 | SQLGetConnectAttr関数,SQLSetConnectAttr関数 |
ステートメント属性 | SQLGetStmtAttr関数,SQLSetStmtAttr関数 |
ディスクリプタフィールド | SQLGetDescField関数,SQLGetDescRec関数, SQLSetDescField関数,SQLSetDescRec関数 |
(1) 環境属性
環境属性で取得できる属性値とサポート状況を表 3-12に示します。
表3-12 環境属性で取得できる属性値とサポート状況
Attribute | 値 | ValuePtr | 値 | サポート状況 | 備考 |
---|---|---|---|---|---|
SQL_ATTR_CONNECTION_POOLING | 201 | SQL_CP_OFF | 0UL | ○ | ODBC 3.0 |
SQL_CP_ONE_PER_DRIVER | 1UL | ○ | |||
SQL_CP_ONE_PER_HENV | 2UL | ○ | |||
SQL_ATTR_CP_MATCH | 202 | SQL_CP_STRICT_MATCH(デフォルト) | 0UL | ○ | ODBC3.0 |
SQL_CP_RELAXED_MATCH | 1UL | ○ | |||
SQL_ATTR_ODBC_VERSION | 200 | SQL_OV_ODBC2 | 2UL | ○ | ODBC 3.0 |
SQL_OV_ODBC3 | 3UL | ○ | |||
SQL_ATTR_OUTPUT_NTS | 10001 | SQL_TRUE(デフォルト) | 1UL | ○ | ODBC 3.0 |
SQL_FALSE | 0UL | × |
(2) 接続属性
接続属性で取得できる属性値とサポート状況を表 3-13に示します。
表3-13 接続属性で取得できる属性値とサポート状況
Attribute | 値 | ValuePtr | 値 | サポート状況 | 備考 |
---|---|---|---|---|---|
SQL_ATTR_ACCESS_MODE | 101 | SQL_MODE_READ_WRITE (デフォルト) | 0UL | ○ | ODBC 1.0 |
SQL_MODE_READ_ONLY | 1UL | ○ | |||
SQL_ATTR_ASYNC_ENABLE | 4 | SQL_ASYNC_ENABLE_OFF (デフォルト) | 0UL | ○ | ODBC 3.0 |
SQL_ASYNC_ENABLE_ON | 1UL | ○ | |||
SQL_ATTR_AUTO_IPD | 10001 | SQL_FALSE(ORACLE接続でSQLDescribeParamを使用しない場合) | 0UL | - | ODBC 3.0 |
SQL_TRUE (上記以外) | 1UL | - | |||
SQL_ATTR_AUTOCOMMIT | 102 | SQL_AUTOCOMMIT_ON (デフォルト) | 1UL | ○ | ODBC 1.0 |
SQL_AUTOCOMMIT_OFF | 0UL | ○ | |||
SQL_ATTR_CONNECTION_TIMEOUT | 113 | SQLUINTEGERの値 | - | × | ODBC 3.0 |
SQL_ATTR_CURRENT | 109 | 文字列 | - | × | ODBC 2.0 |
SQL_ATTR_LOGIN_TIMEOUT | 103 | SQLUINTEGERの値 | - | × | ODBC 1.0 |
SQL_ATTR_METADATA_ID | 10014 | SQLUINTEGERの値 | - | ○ | ODBC 3.0 |
SQL_ATTR_ODBC_CURSORS | 110 | SQL_CUR_USE_IF_NEEDED | 0UL | × | ODBC 2.0 |
SQL_CUR_USE_ODBC | 1UL | × | |||
SQL_CUR_USE_DRIVER | 2UL | × | |||
SQL_ATTR_PACKET_SIZE | 112 | SQLUINTEGERの値 | - | × | ODBC 2.0 |
SQL_ATTR_QUIET_MODE | 111 | ウィンドウハンドル | - | × | ODBC 2.0 |
SQL_ATTR_TRACE | 104 | SQL_OPT_TRACE_OFF (デフォルト) | 0UL | ○ | ODBC 1.0 |
SQL_OPT_TRACE_ON | 1UL | × | |||
SQL_ATTR_TRACEFILE | 105 | NULL終端文字列 | - | × | ODBC 1.0 |
SQL_ATTR_TRANSLATE_LIB | 106 | NULL終端文字列 | - | × | ODBC 1.0 |
SQL_ATTR_TRANSLATE_OPTION | 107 | 32ビットのフラグ位置 | - | × | ODBC 1.0 |
SQL_ATTR_TXN_ISOLATION | 108 | SQL_TXN_READ_UNCOMMITED | 1UL | × | ODBC1.0 |
SQL_TXN_READ_COMMITED | 2UL | ○ | |||
SQL_TXN_RESPECTABLE_READ | 4UL | × | |||
SQL_TXN_SERIALIZABLE | 8UL | × |
(3) ステートメント属性
ステートメント属性で取得できる属性値とサポート状況を表 3-14に示します。
表3-14 ステートメント属性のサポート状況
Attribute | 値 | ValuePtr | 値 | サポート状況 | 備考 |
---|---|---|---|---|---|
SQL_ATTR_APP_PARAM_DESC | 10011 | APDのハンドル | - | ○ | ODBC 3.0 |
SQL_ATTR_APP_ROW_DESC | 10010 | ARDのハンドル | - | ○ | ODBC 3.0 |
SQL_ATTR_ASYNC_ENABLE | 4 | SQL_ASYNC_ENABLE_OFF (デフォルト) | 0UL | ○ | ODBC 2.0 |
SQL_ASYNC_ENABLE_ON | 1UL | ○ | |||
SQL_ATTR_CONCURRENCY | 7 | SQL_CONCUR_READ_ONLY (デフォルト) | 1 | ○ | ODBC 2.0 |
SQL_CONCUR_LOCK | 2 | ○ | |||
SQL_CONCUR_ROWVER | 3 | × | |||
SQL_CONCUR_VALUES | 4 | × | |||
SQL_ATTR_CURSOR_SCROLLABLE | -1 | SQL_NONSCROLLABLE (デフォルト) | 0 | × | ODBC 3.0 |
SQL_SCROLLABLE | 1 | × | |||
SQL_ATTR_CURSOR_SENSITIVITY | -2 | SQL_UNSPECIFIED | 0 | × | ODBC 3.0 |
SQL_INSENSITIVE | 1 | × | |||
SQL_SENSITIVE | 2 | × | |||
SQL_ATTR_CURSOR_TYPE | 6 | SQL_CURSOR_FORWARD_ONLY(デフォルト) | 0UL | × | ODBC 2.0 |
SQL_CURSOR_KEYSET_DRIVEN | 1UL | × | |||
SQL_CURSOR_DYNAMIC | 2UL | × | |||
SQL_CURSOR_STATIC | 3UL | × | |||
SQL_ATTR_ENABLE_AUTO_IPD | 15 | SQL_TRUE | 1 | ○ | ODBC 3.0 |
SQL_FALSE | 0 | ○ | |||
SQL_ATTR_FETCH_BOOKMARK_PTR | 16 | ブックマーク値を指すポインタ | - | × | ODBC 3.0 |
SQL_ATTR_IMP_PARAM_DESC | 10013 | IPDのハンドル | - | ○ | ODBC 3.0 |
SQL_ATTR_IMP_ROW_DESC | 10012 | IRDのハンドル | - | ○ | ODBC 3.0 |
SQL_ATTR_KEYSET_SIZE | 8 | SQLUINTEGERの値 | - | × | ODBC 2.0 |
SQL_ATTR_MAX_LENGTH | 3 | SQLUINTEGERの値 | - | ○ | ODBC 1.0 |
SQL_ATTR_MAX_ROWS | 1 | SQLUINTEGERの値 | - | ○ | ODBC 1.0 |
SQL_ATTR_METADATA_ID | 10014 | SQL_FALSE(デフォルト) | 0 | ○ | ODBC |
SQL_TRUE | 1 | ○ | 3.0 | ||
SQL_ATTR_NOSCAN | 2 | SQL_NOSCAN_OFF(デフォルト) | 0UL | ○ | ODBC 1.0 |
SQL_NOSCAN_ON | 1UL | ○ | |||
SQL_ATTR_PARAM_BIND_OFFSET_PTR | 17 | SQLUINTEGER*の値 | - | ○ | ODBC 3.0 |
SQL_ATTR_PARAM_BIND_TYPE | 18 | SQLUINTEGERの値 | - | ○ | ODBC 3.0 |
SQL_ATTR_PARAM_OPERATION_PTR | 19 | SQLUSMALLINT値の配列を指すSQLUSMALLINT*の値 | - | ○ | ODBC 3.0 |
SQL_ATTR_PARAM_STATUS_PTR | 20 | SQL_PARAM_SUCCESS | 0 | ○ | ODBC 3.0 |
SQL_PARAM_SUCCESS_WITH_INFO | 6 | ○ | |||
SQL_PARAM_ERROR | 5 | ○ | |||
SQL_PARAM_UNUSED | 7 | ○ | |||
SQL_PARAM_DIAG_UNAVAILABLE | 1 | ○ | |||
SQL_ATTR_PARAMS_PROCESSED_PTR | 21 | SQLUINTEGER*のレコードフィールド | - | ○ | ODBC 3.0 |
SQL_ATTR_PARAMSET_SIZE | 22 | SQLUINTEGERの値 | - | ○ | ODBC 3.0 |
SQL_ATTR_QUERY_TIMEOUT | 0 | SQLUINTEGERの値 | - | × | ODBC 1.0 |
SQL_ATTR_RETRIEVE_DATA | 11 | SQL_RD_ON(デフォルト) | 1UL | × | ODBC 2.0 |
SQL_RD_OFF | 0UL | × | |||
SQL_ATTR_ROW_ARRAY_SIZE | 27 | SQLUINTEGERの値 | - | ○ | ODBC 3.0 |
SQL_ATTR_ROW_BIND_OFFSET_PTR | 23 | SQLUINTEGERの値 | - | ○ | ODBC 3.0 |
SQL_ATTR_ROW_BIND_TYPE | 5 | SQLINTEGERの値 | - | ○ | ODBC 3.0 |
SQL_ATTR_ROW_NUMBER | 14 | SQLINTEGERの値 | - | × | ODBC 3.0 |
SQL_ATTR_ROW_OPERATION_PTR | 24 | SQLUSMALLINT値の配列を指すSQLUSMALLINT*の値 | - | × | ODBC 3.0 |
SQL_ATTR_ROW_STATUS_PTR | 25 | SQLUSMALLINT値の配列を指すSQLUSMALLINT*の値 | - | ○ | ODBC 3.0 |
SQL_ATTR_ROWS_FETCHED_PTR | 26 | SQLUINTEGERの値 | - | ○ | ODBC 3.0 |
SQL_ATTR_SIMULATE_CURSOR | 10 | SQLUINTEGERの値 | - | × | ODBC 2.0 |
SQL_ATTR_USE_BOOKMARKS | 12 | SQL_UB_OFF | 0 | ○ | ODBC 2.0 |
SQL_UB_VARIABLE | 2 | × |
(4) ディスクリプタフィールド
ディスクリプタフィールドは,結果セットの列やSQLステートメントの動的パラメタに関する情報を保存するデータ構造体のことです。ディスクリプタのサポート状態を表 3-15に示します。
表3-15 ディスクリプタフィールドのサポート状況
種別 | FieldIdentifier | サポートの有無 | 合致レベル |
---|---|---|---|
ヘッダフィールド | SQL_DESC_ALLOC_TYPE | ○ | Core |
SQL_DESC_ARRAY_SIZE | ○ | Core | |
SQL_DESC_ARRAY_STATUS_PTR | ○ | Core (APD,IPD,IRD) | |
× | Level1(ARD) | ||
SQL_DESC_BIND_OFFSET_PTR | ○ | Core | |
SQL_DESC_BIND_TYPE | ○ | Core | |
SQL_DESC_COUNT | ○ | Core | |
SQL_DESC_ROWS_PROCESSED_PTR | ○ | Core | |
レコードフィールド | SQL_DESC_AUTO_UNIQUE_VALUE | × | Level2 |
SQL_DESC_BASE_COLUMN_NAME | ○ | Core | |
SQL_DESC_BASE_TABLE_NAME | × | Level1 | |
SQL_DESC_CASE_SENSITIVE | ○ | Core | |
SQL_DESC_CATALOG_NAME | × | Level2 | |
SQL_DESC_CONCISE_TYPE | ○ | Core | |
SQL_DESC_DATA_PTR | ○ | Core | |
SQL_DESC_DATETIME_INTERVAL_CODE | ○ | Core | |
SQL_DESC_DATETIME_INTERVAL_PRECISION | ○ | Core | |
SQL_DESC_DISPLAY_SIZE | ○ | Core | |
SQL_DESC_FIXED_PREC_SCALE | ○ | Core | |
SQL_DESC_INDICATOR_PTR | ○ | Core | |
SQL_DESC_LABEL | ○ | Level2 | |
SQL_DESC_LENGTH | ○ | Core | |
SQL_DESC_LITERAL_PREFIX | ○ | Core | |
SQL_DESC_LITERAL_SUFFIX | ○ | Core | |
SQL_DESC_LOCAL_TYPE_NAME | ○ | Core | |
SQL_DESC_NAME | ○ | Core | |
SQL_DESC_NULLABLE | ○ | Core | |
SQL_DESC_NUM_PREC_RADIX | ○ | Core | |
SQL_DESC_OCTET_LENGTH | ○ | Core | |
SQL_DESC_OCTET_LENGTH_PTR | ○ | Core | |
SQL_DESC_PARAMETER_TYPE | ○ | Core/Level2 | |
SQL_DESC_PRECISION | ○ | Core | |
SQL_DESC_SCALE | ○ | Core | |
SQL_DESC_SCHEMA_NAME | × | Level1 | |
SQL_DESC_SEARCHABLE | ○ | Core | |
SQL_DESC_TABLE_NAME | × | Level1 | |
SQL_DESC_TYPE | ○ | Core | |
SQL_DESC_TYPE_NAME | ○ | Core | |
SQL_DESC_UNNAMED | ○ | Core | |
SQL_DESC_UNSIGNED | ○ | Core | |
SQL_DESC_UPDATABLE | ○ | Core |