属性一致性

下表显示了定义良好的每个 ODBC 环境属性的一致性级别。

函数 一致性级别
SQL_ATTR_CONNECTION_POOLING --[1]
SQL_ATTR_CP_MATCH --[1]
SQL_ATTR_ODBC_VER 核心
SQL_ATTR_OUTPUT_NTS --[1]

[1] 这是一个可选功能,因此不属于一致性级别。

下表显示了定义良好的每个 ODBC 连接属性的一致性级别。

函数 一致性级别
SQL_ATTR_ACCESS_MODE 核心
SQL_ATTR_ASYNC_ENABLE 1 级/2[1] 级
SQL_ATTR_AUTO_IPD 2 级
SQL_ATTR_AUTOCOMMIT 1 级
SQL_ATTR_CONNECTION_DEAD 1 级
SQL_ATTR_CONNECTION_TIMEOUT 2 级
SQL_ATTR_CURRENT_CATALOG 2 级
SQL_ATTR_LOGIN_TIMEOUT 2 级
SQL_ATTR_ODBC_CURSORS 核心
SQL_ATTR_PACKET_SIZE 2 级
SQL_ATTR_QUIET_MODE 核心
SQL_ATTR_TRACE 核心
SQL_ATTR_TRACEFILE 核心
SQL_ATTR_TRANSLATE_LIB 核心
SQL_ATTR_TRANSLATE_OPTION 核心
SQL_ATTR_TXN_ISOLATION 1 级/2[2] 级

[1] 支持连接级别异步(级别 1 所需)的应用程序必须支持通过调用 SQLSetConnectAttr 将此属性设置为 SQL_TRUE;不需要通过 SQLSetStmtAttr 将属性设置为默认值以外的值。 支持语句级异步(级别 2 所需)的应用程序必须支持通过任一函数将此属性设置为 SQL_TRUE。

[2] 对于 1 级接口一致性,除了驱动程序定义的默认值外,驱动程序还必须支持一个值(可通过使用 SQL_DEFAULT_TXN_ISOLATION 选项调用 SQLGetInfo 获得)。 对于 2 级接口一致性,驱动程序还必须支持 SQL_TXN_SERIALIZABLE。

下表显示了定义良好的每个 ODBC 语句属性的一致性级别。

函数 一致性级别
SQL_ATTR_APP_PARAM_DESC 核心
SQL_ATTR_APP_ROW_DESC 核心
SQL_ATTR_ASYNC_ENABLE 1 级/2[1] 级
SQL_ATTR_CONCURRENCY 1 级/2[2] 级
SQL_ATTR_CURSOR_SCROLLABLE 1 级
SQL_ATTR_CURSOR_SENSITIVITY 2 级
SQL_ATTR_CURSOR_TYPE 核心/2[3] 级
SQL_ATTR_ENABLE_AUTO_IPD 2 级
SQL_ATTR_FETCH_BOOKMARK_PTR 2 级
SQL_ATTR_IMP_PARAM_DESC 核心
SQL_ATTR_IMP_ROW_DESC 核心
SQL_ATTR_KEYSET_SIZE 2 级
SQL_ATTR_MAX_LENGTH 1 级
SQL_ATTR_MAX_ROWS 1 级
SQL_ATTR_METADATA_ID 核心
SQL_ATTR_NOSCAN 核心
SQL_ATTR_PARAM_BIND_OFFSET_PTR 核心
SQL_ATTR_PARAM_BIND_TYPE 核心
SQL_ATTR_PARAM_OPERATION_PTR 核心
SQL_ATTR_PARAM_STATUS_PTR 核心
SQL_ATTR_PARAMS_PROCESSED_PTR 核心
SQL_ATTR_PARAMSET_SIZE 核心
SQL_ATTR_QUERY_TIMEOUT 2 级
SQL_ATTR_RETRIEVE_DATA 1 级
SQL_ATTR_ROW_ARRAY_SIZE 核心
SQL_ATTR_ROW_BIND_OFFSET_PTR 核心
SQL_ATTR_ROW_BIND_TYPE 核心
SQL_ATTR_ROW_NUMBER 1 级
SQL_ATTR_ROW_OPERATION_PTR 1 级
SQL_ATTR_ROW_STATUS_PTR 核心
SQL_ATTR_ROWS_FETCHED_PTR 核心
SQL_ATTR_SIMULATE_CURSOR 2 级
SQL_ATTR_USE_BOOKMARKS 2 级

[1] 支持连接级别异步(级别 1 所需)的应用程序必须支持通过调用 SQLSetConnectAttr 将此属性设置为 SQL_TRUE;不需要通过 SQLSetStmtAttr 将属性设置为默认值以外的值。 支持语句级异步(级别 2 所需)的应用程序必须支持通过任一函数将此属性设置为 SQL_TRUE。

[2] 对于 2 级接口一致性,驱动程序必须支持 SQL_CONCUR_READ_ONLY 和至少一个其他值。

[3] 对于 1 级接口一致性,驱动程序必须支持 SQL_CURSOR_FORWARD_ONLY 和至少一个其他值。 对于 2 级接口一致性,驱动程序必须支持本文档中定义的所有值。