Delen via


Een ODBC-verbindingsgreep toewijzen

Voordat de toepassing verbinding kan maken met een gegevensbron of stuurprogramma, moet deze als volgt een verbindingsgreep toewijzen:

  1. De toepassing declareert een variabele van het type SQLHDBC. Vervolgens wordt SQLAllocHandle aanroepen en wordt het adres van deze variabele doorgegeven, de ingang van de omgeving waarin de verbinding moet worden toegewezen en de optie SQL_HANDLE_DBC. Voorbeeld:

    SQLHDBC hdbc1;  
    
    SQLAllocHandle(SQL_HANDLE_DBC, henv1, &hdbc1);  
    
  2. Driver Manager wijst een structuur toe om informatie over de instructie op te slaan en retourneert de verbindingsgreep in de variabele.

De Driver Manager roept OP dit moment SQLAllocHandle niet aan in het stuurprogramma omdat het niet weet welk stuurprogramma moet worden aangeroepen. Het vertraagt het aanroepen van SQLAllocHandle in het stuurprogramma totdat de toepassing een functie aanroept om verbinding te maken met een gegevensbron. Zie de rol van Driver Manager in het verbindingsproces verderop in deze sectie voor meer informatie.

Het is belangrijk om te weten dat het toewijzen van een verbindingsgreep niet hetzelfde is als het laden van een stuurprogramma. Het stuurprogramma wordt pas geladen als er een verbindingsfunctie wordt aangeroepen. Na het toewijzen van een verbindingsgreep en voordat verbinding wordt gemaakt met het stuurprogramma of de gegevensbron, zijn de enige functies die de toepassing met de verbindingsgreep kan aanroepen SQLSetConnectAttr, SQLGetConnectAttr of SQLGetInfo met de optie SQL_ODBC_VER. Als u andere functies aanroept met de verbindingsgreep, zoals SQLEndTran, wordt SQLSTATE 08003 (Verbinding niet geopend) geretourneerd. Zie bijlage B: ODBC-statusovergangstabellen voor volledige details.

Zie Verbindingsingangen voor meer informatie over verbindingsingangen.