Before an application can call any ODBC function, it must initialize the ODBC environment and allocate an environment handle. This is the global context handle and placeholder for the other handles in ODBC. You do this by calling SQLAllocHandle with the HandleType parameter set to SQL_HANDLE_ENV and InputHandle set to SQL_NULL_HANDLE.
After allocating the environment handle, the application must set environment attributes to indicate which version of ODBC function calls it will be using. To use the ODBC 3.x functions, call SQLSetEnvAttr with the Attribute parameter set to SQL_ATTR_ODBC_VERSION and ValuePtr set to SQL_OV_ODBC3.