屬性一致性

下表顯示每個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]
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(SQL 登入逾時屬性) 層級 2
SQL_ATTR_ODBC_CURSORS Core
SQL_ATTR_PACKET_SIZE 層級 2
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 第一層/第二層[2]

[1] 支援連線層非同步(Level 1 所需)的應用程式必須支援透過呼叫 SQLSetConnectAttr 將此屬性設為 SQL_TRUE;屬性不必透過 SQLSetStmtattr 設定為非預設值。 支援語句層級非同步(Level 2 必要)的應用程式必須支援使用任一函式將此屬性設定為SQL_TRUE。

[2] 為了達到第一層介面相容性,驅動程式必須支援一個值,此外還需要支援由驅動程式定義的預設值(可透過呼叫 SQLGetInfo 並啟用 SQL_DEFAULT_TXN_ISOLATION 選項來獲取)。 為了達到第二層介面相容性,驅動程式也必須支援 SQL_TXN_SERIALIZABLE。

下表顯示每個 ODBC 語句屬性的符合性等級,且此等級定義良好。

功能 符合性等級
SQL_ATTR_APP_PARAM_DESC Core
SQL_ATTR_APP_ROW_DESC Core
SQL_ATTR_ASYNC_ENABLE 第一級/第二級[1]
SQL_ATTR_CONCURRENCY 第一層/第二層[2]
SQL_ATTR_CURSOR_SCROLLABLE 層級 1
SQL_ATTR_CURSOR_SENSITIVITY 層級 2
SQL_ATTR_CURSOR_TYPE 核心/等級2[3]
SQL_ATTR_ENABLE_AUTO_IPD(啟用自動 IP 描述符屬性) 層級 2
SQL_ATTR_FETCH_BOOKMARK_PTR 層級 2
SQL_ATTR_IMP_PARAM_DESC Core
SQL_ATTR_IMP_ROW_DESC Core
SQL_ATTR_KEYSET_SIZE 層級 2
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 (SQL参数绑定偏移指针) 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 層級 2
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 層級 2
SQL_ATTR_USE_BOOKMARKS 層級 2

[1] 支援連線層非同步(Level 1 所需)的應用程式必須支援透過呼叫 SQLSetConnectAttr 將此屬性設為 SQL_TRUE;屬性不必透過 SQLSetStmtattr 設定為非預設值。 支援語句層級非同步(Level 2 必要)的應用程式必須支援使用任一函式將此屬性設定為SQL_TRUE。

[2] 為了達到第二層介面相容性,驅動程式必須支援 SQL_CONCUR_READ_ONLY 及至少一個其他值。

[3] 為了達到第一層介面相容性,驅動程式必須支援 SQL_CURSOR_FORWARD_ONLY 及至少一個其他值。 為了達到第二層介面的一致性,驅動程式必須支援本文件中定義的所有值。