Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.
SQLAllocHandle
| 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 might 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.
SQLDataSources and SQLDrivers
| 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.
SQLEndTran
| 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.
SQLFreeHandle
| 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.
SQLGetDiagField and SQLGetDiagRec
| 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.
SQLGetEnvAttr
| 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.
SQLSetEnvAttr
| 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.
All Other ODBC Functions
| E0 Unallocated | E1 Allocated | E2 Connection | 
|---|---|---|
| (IH) | (IH) | -- |