Поделиться через


Переходы среды

Среды ODBC имеют следующие три состояния.

State Description
E0 Нераспределированная среда
E1 Выделенная среда, нераспределированное подключение
E2 Выделенная среда, выделенное подключение

В следующих таблицах показано, как каждая функция ODBC влияет на состояние среды.

SQLAllocHandle

E0

Не выделено
E1

Распределено
E2

Connection
E1[1] --[4] --[4]
(IH) [2] E2[5]
(HY010) [6]
--[4]
(IH) [3] (IH) --[4]

[1] Эта строка показывает переходы при SQL_HANDLE_ENV HandleType .

[2] Эта строка показывает переходы при SQL_HANDLE_DBC HandleType .

[3] Эта строка показывает переходы, когда HandleType был SQL_HANDLE_STMT или SQL_HANDLE_DESC.

[4] Вызов SQLAllocHandle с outputHandlePtr , указывающий на допустимый дескриптор перезаписи, который обрабатывает. Это может быть ошибка программирования приложений.

[5] Атрибут среды SQL_ATTR_ODBC_VERSION был установлен в среде.

[6] Атрибут среды SQL_ATTR_ODBC_VERSION не был задан в среде.

SQLDataSources и SQLDrivers

E0

Не выделено
E1

Распределено
E2

Connection
(IH) --[1]
(HY010) [2]
--[1]
(HY010) [2]

[1] Атрибут среды SQL_ATTR_ODBC_VERSION был задан в среде.

[2] Атрибут среды SQL_ATTR_ODBC_VERSION не был задан в среде.

SQLEndTran

E0

Не выделено
E1

Распределено
E2

Connection
(IH) [1] --[3]
(HY010) [4]
--[3]
(HY010) [4]
(IH) [2] (IH) --

[1] Эта строка показывает переходы при SQL_HANDLE_ENV HandleType .

[2] Эта строка показывает переходы при SQL_HANDLE_DBC HandleType .

[3] Атрибут среды SQL_ATTR_ODBC_VERSION был установлен в среде.

[4] Атрибут среды SQL_ATTR_ODBC_VERSION не был задан в среде.

SQLFreeHandle

E0

Не выделено
E1

Распределено
E2

Connection
(IH) [1] E0 (HY010)
(IH) [2] (IH) --[4]
E1[5]
(IH) [3] (IH) --

[1] Эта строка показывает переходы при SQL_HANDLE_ENV HandleType .

[2] Эта строка показывает переходы при SQL_HANDLE_DBC HandleType .

[3] Эта строка показывает переходы, когда HandleType был SQL_HANDLE_STMT или SQL_HANDLE_DESC.

[4] Были другие выделенные дескрипторы подключения.

[5] Дескриптор соединения, указанный в Handle, был единственным выделенным дескриптором подключения.

SQLGetDiagField и SQLGetDiagRec

E0

Не выделено
E1

Распределено
E2

Connection
(IH) [1] -- --
(IH) [2] (IH) --

[1] Эта строка показывает переходы при SQL_HANDLE_ENV HandleType .

[2] Эта строка показывает переходы, когда HandleType был SQL_HANDLE_DBC, SQL_HANDLE_STMT или SQL_HANDLE_DESC.

SQLGetEnvAttr

E0

Не выделено
E1

Распределено
E2

Connection
(IH) --[1]
(HY010) [2]
--

[1] Атрибут среды SQL_ATTR_ODBC_VERSION был задан в среде.

[2] Атрибут среды SQL_ATTR_ODBC_VERSION не был задан в среде.

SQLSetEnvAttr

E0

Не выделено
E1

Распределено
E2

Connection
(IH) --[1]
(HY010) [2]
(HY011)

[1] Атрибут среды SQL_ATTR_ODBC_VERSION был задан в среде.

[2] Аргумент атрибута не был SQL_ATTR_ODBC_VERSION, а атрибут среды SQL_ATTR_ODBC_VERSION не был задан в среде.

Все остальные функции ODBC

E0

Не выделено
E1

Распределено
E2

Connection
(IH) (IH) --