Partilhar via


Transições de ambiente

Os ambientes ODBC têm os três estados a seguir.

Estado Descrição
E0 Ambiente não alocado
E1 Ambiente alocado, conexão não alocada
E2 Ambiente alocado, conexão alocada

As tabelas a seguir mostram como cada função ODBC afeta o estado do ambiente.

SQLAllocHandle

E0

Não alocado
E1

Alocado
E2

Conexão
E1[1] --[4] --[4]
(IH) [2] E2[5]
(HY010) [6]
--[4]
(IH) [3] (IH) --[4]

[1] Essa linha mostra transições quando HandleType foi SQL_HANDLE_ENV.

[2] Essa linha mostra transições quando HandleType foi SQL_HANDLE_DBC.

[3] Essa linha mostra transições quando HandleType foi SQL_HANDLE_STMT ou SQL_HANDLE_DESC.

[4] Chamar SQLAllocHandle com OutputHandlePtr apontando para um identificador válido substitui esse identificador. Isso pode ser um erro de programação de aplicativo.

[5] O atributo de ambiente SQL_ATTR_ODBC_VERSION foi definido no ambiente.

[6] O atributo de ambiente SQL_ATTR_ODBC_VERSION não havia sido definido no ambiente.

SQLDataSources e SQLDrivers

E0

Não alocado
E1

Alocado
E2

Conexão
(IH) --[1]
(HY010) [2]
--[1]
(HY010) [2]

[1] O atributo de ambiente SQL_ATTR_ODBC_VERSION foi definido no ambiente.

[2] O atributo de ambiente SQL_ATTR_ODBC_VERSION não havia sido definido no ambiente.

SQLEndTran

E0

Não alocado
E1

Alocado
E2

Conexão
(IH) [1] --[3]
(HY010) [4]
--[3]
(HY010) [4]
(IH) [2] (IH) --

[1] Essa linha mostra transições quando HandleType foi SQL_HANDLE_ENV.

[2] Essa linha mostra transições quando HandleType foi SQL_HANDLE_DBC.

[3] O atributo de ambiente SQL_ATTR_ODBC_VERSION foi definido no ambiente.

[4] O atributo de ambiente SQL_ATTR_ODBC_VERSION não havia sido definido no ambiente.

SQLFreeHandle

E0

Não alocado
E1

Alocado
E2

Conexão
(IH) [1] E0 (HY010)
(IH) [2] (IH) --[4]
E1[5]
(IH) [3] (IH) --

[1] Essa linha mostra transições quando HandleType foi SQL_HANDLE_ENV.

[2] Essa linha mostra transições quando HandleType foi SQL_HANDLE_DBC.

[3] Essa linha mostra transições quando HandleType foi SQL_HANDLE_STMT ou SQL_HANDLE_DESC.

[4] Havia outros identificadores de conexão alocados.

[5] O identificador de conexão especificado no Handle era o único identificador de conexão alocado.

SQLGetDiagField e SQLGetDiagRec

E0

Não alocado
E1

Alocado
E2

Conexão
(IH) [1] -- --
(IH) [2] (IH) --

[1] Essa linha mostra transições quando HandleType foi SQL_HANDLE_ENV.

[2] Essa linha mostra transições quando HandleType era SQL_HANDLE_DBC, SQL_HANDLE_STMT ou SQL_HANDLE_DESC.

SQLGetEnvAttr

E0

Não alocado
E1

Alocado
E2

Conexão
(IH) --[1]
(HY010) [2]
--

[1] O atributo de ambiente SQL_ATTR_ODBC_VERSION foi definido no ambiente.

[2] O atributo de ambiente SQL_ATTR_ODBC_VERSION não havia sido definido no ambiente.

SQLSetEnvAttr

E0

Não alocado
E1

Alocado
E2

Conexão
(IH) --[1]
(HY010) [2]
(HY011)

[1] O atributo de ambiente SQL_ATTR_ODBC_VERSION foi definido no ambiente.

[2] O argumento Attribute não foi SQL_ATTR_ODBC_VERSION e o atributo de ambiente SQL_ATTR_ODBC_VERSION não havia sido definido no ambiente.

Todas as outras funções ODBC

E0

Não alocado
E1

Alocado
E2

Conexão
(IH) (IH) --