ODBC environments have the following three states.
State | Description |
E0 | Unallocated environment |
E1 | Allocated environment, unallocated connection |
E2 | Allocated environment, allocated connection |
The following tables show how each ODBC function affects the environment state.
E0 Unallocated |
E1 Allocated |
E2 Connection |
E1 [1] | -- [4] | -- [4] |
(IH) [2] | E2 [5] (HY010) [6] |
-- [4] |
(IH) [3] | (IH) | -- [4] |
[1]This row shows transitions when HandleType was SQL_HANDLE_ENV.
[2]This row shows transitions when HandleType was SQL_HANDLE_DBC.
[3]This row shows transitions when HandleType was SQL_HANDLE_STMT or SQL_HANDLE_DESC.
[4]Calling SQLAllocHandle with OutputHandlePtr pointing to a valid handle overwrites that handle. This may be an application programming error.
[5]The SQL_ATTR_ODBC_VERSION environment attribute had been set on the environment.
[6]The SQL_ATTR_ODBC_VERSION environment attribute had not been set on the environment.
E0 Unallocated |
E1 Allocated |
E2 Connection |
(IH) | -- [1] (HY010) [2] |
-- [1] (HY010) [2] |
[1]The SQL_ATTR_ODBC_VERSION environment attribute had been set on the environment.
[2]The SQL_ATTR_ODBC_VERSION environment attribute had not been set on the environment.
E0 Unallocated |
E1 Allocated |
E2 Connection |
(IH) [1] | -- [3] (HY010) [4] |
-- [3] (HY010) [4] |
(IH) [2] | (IH) | -- |
[1]This row shows transitions when HandleType was SQL_HANDLE_ENV.
[2]This row shows transitions when HandleType was SQL_HANDLE_DBC.
[3]The SQL_ATTR_ODBC_VERSION environment attribute had been set on the environment.
[4]The SQL_ATTR_ODBC_VERSION environment attribute had not been set on the environment.
E0 Unallocated |
E1 Allocated |
E2 Connection |
(IH) [1] | E0 | (HY010) |
(IH) [2] | (IH) | -- [4] E1 [5] |
(IH) [3] | (IH) | -- |
[1]This row shows transitions when HandleType was SQL_HANDLE_ENV.
[2]This row shows transitions when HandleType was SQL_HANDLE_DBC.
[3]This row shows transitions when HandleType was SQL_HANDLE_STMT or SQL_HANDLE_DESC.
[4]There were other allocated connection handles.
[5]The connection handle specified in Handle was the only allocated connection handle.
E0 Unallocated |
E1 Allocated |
E2 Connection |
(IH) [1] | -- | -- |
(IH) [2] | (IH) | -- |
[1]This row shows transitions when HandleType was SQL_HANDLE_ENV.
[2]This row shows transitions when HandleType was SQL_HANDLE_DBC, SQL_HANDLE_STMT, or SQL_HANDLE_DESC.
E0 Unallocated |
E1 Allocated |
E2 Connection |
(IH) | -- [1] (HY010) [2] |
-- |
[1]The SQL_ATTR_ODBC_VERSION environment attribute had been set on the environment.
[2]The SQL_ATTR_ODBC_VERSION environment attribute had not been set on the environment.
E0 Unallocated |
E1 Allocated |
E2 Connection |
(IH) | -- [1] (HY010) [2] |
(HY011) |
[1]The SQL_ATTR_ODBC_VERSION environment attribute had been set on the environment.
[2]The Attribute argument was not SQL_ATTR_ODBC_VERSION and the SQL_ATTR_ODBC_VERSION environment attribute had not been set on the environment.
E0 Unallocated |
E1 Allocated |
E2 Connection |
(IH) | (IH) | -- |