Přidělování popisovače prostředí

První úlohou každé aplikace ODBC je načtení Správce ovladačů; jak se to dělá, závisí na operačním systému. Například v počítači se systémem Microsoft Windows NT Server/Windows 2000 Server, Windows NT Workstation/Windows 2000 Professional nebo Microsoft Windows 95/98 aplikace buď odkazuje na knihovnu Správce ovladačů nebo volá LoadLibrary pro načtení knihovny Správce ovladačů DLL.

Dalším úkolem, který musí být proveden před voláním jakékoli jiné funkce ODBC, je inicializace prostředí ODBC a přidělení popisovače prostředí následujícím způsobem:

  1. Aplikace deklaruje proměnnou typu SQLHENV. Potom volá SQLAllocHandle a předá adresu této proměnné a možnost SQL_HANDLE_ENV. Například:

    SQLHENV henv1;  
    
    SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv1);  
    
  2. Správce ovladačů přiděluje strukturu, ve které se mají ukládat informace o prostředí, a vrátí popisovač prostředí do proměnné.

Správce ovladačů v tuto chvíli nevolá SQLAllocHandle v ovladači, protože neví, který ovladač volat. Zpožďuje volání SQLAllocHandle v ovladači, dokud aplikace nevolá funkci pro připojení ke zdroji dat. Další informace najdete v části Role Správce ovladačů v procesu připojení dále v této části.

Jakmile aplikace dokončí použití rozhraní ODBC, uvolní obslužnou rutinu prostředí pomocí SQLFreeHandle. Po uvolnění prostředí je chybou programování aplikace použít popisovač prostředí při volání funkce ODBC; takové jednání má nedefinované, ale pravděpodobně závažné důsledky.

Při volání SQLFreeHandle ovladač uvolní strukturu použitou k ukládání informací o prostředí. Všimněte si, že SQLFreeHandle nelze volat pro popisovač prostředí, dokud nebyly uvolněny všechny popisovače připojení na tomto popisovači prostředí.

Další informace o popisovači prostředí naleznete v tématu Popisovače prostředí.