下表显示了每个 ODBC 环境属性的一致性级别,这些级别有明确的定义。
| 功能 | 一致性级别 |
|---|---|
| SQL_ATTR_CONNECTION_POOLING | --[1] |
| SQL_ATTR_CP_MATCH | --[1] |
| SQL_ATTR_ODBC_VER | Core |
| SQL_ATTR_OUTPUT_NTS | --[1] |
[1] 这是一项可选功能,因此不属于一致性级别。
下表指示每个 ODBC 连接属性的一致性级别,其中定义得很好。
| 功能 | 一致性级别 |
|---|---|
| SQL_ATTR_ACCESS_MODE (访问模式属性) | Core |
| SQL_ATTR_ASYNC_ENABLE | 级别 1/级别 2[1] |
| SQL_ATTR_AUTO_IPD | 二级 |
| SQL_ATTR_AUTOCOMMIT | 级别 1 |
| SQL_ATTR_CONNECTION_DEAD | 级别 1 |
| SQL_ATTR_CONNECTION_TIMEOUT | 二级 |
| SQL_ATTR_CURRENT_CATALOG | 二级 |
| SQL_ATTR_LOGIN_TIMEOUT | 二级 |
| SQL_ATTR_ODBC_CURSORS | Core |
| SQL_ATTR_PACKET_SIZE | 二级 |
| SQL_ATTR_QUIET_MODE | Core |
| SQL_ATTR_TRACE | Core |
| SQL_ATTR_TRACEFILE | Core |
| SQL_ATTR_TRANSLATE_LIB | Core |
| SQL_ATTR_TRANSLATE_OPTION | Core |
| 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 | Core |
| SQL_ATTR_APP_ROW_DESC | Core |
| SQL_ATTR_ASYNC_ENABLE | 级别 1/级别 2[1] |
| SQL_ATTR_CONCURRENCY | 级别 1/级别 2[2] |
| SQL_ATTR_CURSOR_SCROLLABLE | 级别 1 |
| SQL_ATTR_CURSOR_SENSITIVITY | 二级 |
| SQL_ATTR_CURSOR_TYPE | 核心/级别 2[3] |
| SQL_ATTR_ENABLE_AUTO_IPD | 二级 |
| SQL_ATTR_FETCH_BOOKMARK_PTR | 二级 |
| SQL_ATTR_IMP_PARAM_DESC | Core |
| SQL_ATTR_IMP_ROW_DESC | Core |
| SQL_ATTR_KEYSET_SIZE | 二级 |
| SQL_ATTR_MAX_LENGTH | 级别 1 |
| SQL_ATTR_MAX_ROWS | 级别 1 |
| SQL_ATTR_METADATA_ID | Core |
| SQL_ATTR_NOSCAN | Core |
| SQL_ATTR_PARAM_BIND_OFFSET_PTR | Core |
| SQL_ATTR_PARAM_BIND_TYPE | Core |
| SQL_ATTR_PARAM_OPERATION_PTR | Core |
| SQL_ATTR_PARAM_STATUS_PTR | Core |
| SQL_ATTR_PARAMS_PROCESSED_PTR | Core |
| SQL_ATTR_PARAMSET_SIZE | Core |
| SQL_ATTR_QUERY_TIMEOUT | 二级 |
| SQL_ATTR_RETRIEVE_DATA | 级别 1 |
| SQL_ATTR_ROW_ARRAY_SIZE | Core |
| SQL_ATTR_ROW_BIND_OFFSET_PTR (行绑定偏移指针属性) | Core |
| SQL_ATTR_ROW_BIND_TYPE | Core |
| SQL_ATTR_ROW_NUMBER | 级别 1 |
| SQL_ATTR_ROW_OPERATION_PTR | 级别 1 |
| SQL_ATTR_ROW_STATUS_PTR | Core |
| SQL_ATTR_ROWS_FETCHED_PTR | Core |
| SQL_ATTR_SIMULATE_CURSOR | 二级 |
| SQL_ATTR_USE_BOOKMARKS | 二级 |
[1] 支持连接级异步(级别 1 所需的)的应用程序必须支持通过调用 SQLSetConnectAttr 将此属性设置为SQL_TRUE;属性不需要通过 SQLSetStmtAttr 将其默认值设置为非其默认值的值。 支持语句级异步(级别 2 所需的)的应用程序必须支持使用任一函数将此属性设置为 SQL_TRUE。
[2] 对于级别 2 接口一致性,驱动程序必须支持SQL_CONCUR_READ_ONLY和至少一个其他值。
[3] 对于级别 1 接口一致性,驱动程序必须支持SQL_CURSOR_FORWARD_ONLY和至少一个其他值。 对于级别 2 接口一致性,驱动程序必须支持本文档中定义的所有值。