Udostępnij przez


Zgodność atrybutów

W poniższej tabeli przedstawiono poziom zgodności każdego atrybutu środowiska ODBC, w którym jest to dobrze zdefiniowane.

Funkcja Poziom zgodności
SQL_ATTR_CONNECTION_POOLING --[1]
SQL_ATTR_CP_MATCH --[1]
SQL_ATTR_ODBC_VER Core
SQL_ATTR_OUTPUT_NTS --[1]

[1] Jest to opcjonalna funkcja i jako taka nie jest częścią poziomów zgodności.

W poniższej tabeli przedstawiono poziom zgodności każdego atrybutu połączenia ODBC, w którym jest to dobrze zdefiniowane.

Funkcja Poziom zgodności
SQL_ATTR_ACCESS_MODE Core
SQL_ATTR_ASYNC_ENABLE Poziom 1/Poziom 2[1]
SQL_ATTR_AUTO_IPD Poziom 2
SQL_ATTR_AUTOCOMMIT Poziom 1
SQL_ATTR_CONNECTION_DEAD Poziom 1
SQL_ATTR_CONNECTION_TIMEOUT Poziom 2
SQL_ATTR_CURRENT_CATALOG Poziom 2
SQL_ATTR_LOGIN_TIMEOUT Poziom 2
SQL_ATTR_ODBC_CURSORS Core
SQL_ATTR_PACKET_SIZE Poziom 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 Poziom 1/Poziom 2[2]

[1] Aplikacje obsługujące asynchronię na poziomie połączenia (wymagane dla poziomu 1) muszą obsługiwać ustawienie tego atrybutu na SQL_TRUE przez wywołanie sqlSetConnectAttr; atrybut nie musi być ustawiany na wartość inną niż jego wartość domyślna za pomocą polecenia SQLSetStmtAttr. Aplikacje obsługujące asynchronię na poziomie instrukcji (wymagane dla poziomu 2) muszą obsługiwać ustawienie tego atrybutu na SQL_TRUE przy użyciu jednej z funkcji.

[2] W przypadku zgodności interfejsu poziomu 1 sterownik musi obsługiwać jedną wartość oprócz wartości domyślnej zdefiniowanej przez sterownik (dostępnej przez wywołanie polecenia SQLGetInfo z opcją SQL_DEFAULT_TXN_ISOLATION). W przypadku zgodności interfejsu poziomu 2 sterownik musi również obsługiwać SQL_TXN_SERIALIZABLE.

W poniższej tabeli przedstawiono poziom zgodności każdego atrybutu instrukcji ODBC, gdzie jest to dobrze zdefiniowane.

Funkcja Poziom zgodności
SQL_ATTR_APP_PARAM_DESC Core
SQL_ATTR_APP_ROW_DESC Core
SQL_ATTR_ASYNC_ENABLE Poziom 1/Poziom 2[1]
SQL_ATTR_CONCURRENCY Poziom 1/Poziom 2[2]
SQL_ATTR_CURSOR_SCROLLABLE Poziom 1
SQL_ATTR_CURSOR_SENSITIVITY Poziom 2
SQL_ATTR_CURSOR_TYPE Rdzeń/poziom 2[3]
SQL_ATTR_ENABLE_AUTO_IPD Poziom 2
SQL_ATTR_FETCH_BOOKMARK_PTR Poziom 2
SQL_ATTR_IMP_PARAM_DESC Core
SQL_ATTR_IMP_ROW_DESC Core
SQL_ATTR_KEYSET_SIZE Poziom 2
SQL_ATTR_MAX_LENGTH Poziom 1
SQL_ATTR_MAX_ROWS Poziom 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 Poziom 2
SQL_ATTR_RETRIEVE_DATA Poziom 1
SQL_ATTR_ROW_ARRAY_SIZE Core
SQL_ATTR_ROW_BIND_OFFSET_PTR Core
SQL_ATTR_ROW_BIND_TYPE Core
SQL_ATTR_ROW_NUMBER Poziom 1
SQL_ATTR_ROW_OPERATION_PTR Poziom 1
SQL_ATTR_ROW_STATUS_PTR Core
SQL_ATTR_ROWS_FETCHED_PTR Core
SQL_ATTR_SIMULATE_CURSOR Poziom 2
SQL_ATTR_USE_BOOKMARKS Poziom 2

[1] Aplikacje obsługujące asynchronię na poziomie połączenia (wymagane dla poziomu 1) muszą obsługiwać ustawienie tego atrybutu na SQL_TRUE przez wywołanie sqlSetConnectAttr; atrybut nie musi być ustawiany na wartość inną niż jego wartość domyślna za pomocą polecenia SQLSetStmtAttr. Aplikacje obsługujące asynchronię na poziomie instrukcji (wymagane dla poziomu 2) muszą obsługiwać ustawienie tego atrybutu na SQL_TRUE przy użyciu jednej z funkcji.

[2] W przypadku zgodności interfejsu poziomu 2 sterownik musi obsługiwać SQL_CONCUR_READ_ONLY i co najmniej jedną inną wartość.

[3] W przypadku zgodności interfejsu poziomu 1 sterownik musi obsługiwać SQL_CURSOR_FORWARD_ONLY i co najmniej jedną inną wartość. W przypadku zgodności interfejsu poziomu 2 sterownik musi obsługiwać wszystkie wartości zdefiniowane w tym dokumencie.