Přidělení popisovače připojení ODBC

Než se aplikace může připojit ke zdroji dat nebo ovladači, musí přidělit popisovač připojení následujícím způsobem:

  1. Aplikace deklaruje proměnnou typu SQLHDBC. Poté zavolá SQLAllocHandle a předá adresu této proměnné, popisovač prostředí, ve kterém se má alokovat připojení, a volbu SQL_HANDLE_DBC. Například:

    SQLHDBC hdbc1;  
    
    SQLAllocHandle(SQL_HANDLE_DBC, henv1, &hdbc1);  
    
  2. Správce ovladačů přiděluje strukturu, ve které se mají ukládat informace o příkazu a vrací popisovač připojení v 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.

Je důležité si uvědomit, že přidělení popisovače připojení není stejné jako načtení ovladače. Ovladač se nenačte, dokud není zavolána funkce připojení. Proto po přidělení popisovače připojení a před připojením k ovladači nebo zdroji dat jedinou funkcí, které může aplikace volat s popisovačem připojení, jsou SQLSetConnectAttr, SQLGetConnectAttr nebo SQLGetInfo s možností SQL_ODBC_VER. Volání jiných funkcí pomocí popisovače připojení, například SQLEndTran, vrátí SQLSTATE 08003 (připojení není otevřené). Úplné podrobnosti najdete v dodatku B: Tabulky přechodu stavu ODBC.

Další informace o popisovačích připojení najdete v tématu Popisovače připojení.