Freigeben über


Zuordnen eines ODBC-Verbindungshandles

Bevor die Anwendung eine Verbindung mit einer Datenquelle oder einem Treiber herstellen kann, muss sie wie folgt ein Verbindungshandle zuweisen:

  1. Die Anwendung deklariert eine Variable vom Typ SQLHDBC. Anschließend ruft sie SQLAllocHandle auf und übergibt die Adresse dieser Variablen, das Handle der Umgebung, in der die Verbindung zugeordnet werden soll, und die Option SQL_HANDLE_DBC. Beispiel:

    SQLHDBC hdbc1;  
    
    SQLAllocHandle(SQL_HANDLE_DBC, henv1, &hdbc1);  
    
  2. Der Treiber-Manager weist eine Struktur zu, in der Informationen über die Anweisung gespeichert werden sollen, und gibt das Verbindungshandle in der Variablen zurück.

Der Treiber-Manager ruft sqlAllocHandle derzeit nicht im Treiber auf, da er nicht weiß, welcher Treiber aufgerufen werden soll. Der Aufruf von SQLAllocHandle im Treiber wird verzögert, bis die Anwendung eine Funktion aufruft, um eine Verbindung mit einer Datenquelle herzustellen. Weitere Informationen finden Sie unter "Rolle des Treiber-Managers im Verbinden ionsprozess" weiter unten in diesem Abschnitt.

Beachten Sie, dass das Zuordnen eines Verbindungshandles nicht mit dem Laden eines Treibers übereinstimmt. Der Treiber wird erst geladen, wenn eine Verbindungsfunktion aufgerufen wird. Nach dem Zuordnen eines Verbindungshandles und vor dem Herstellen einer Verbindung mit dem Treiber oder der Datenquelle sind die einzigen Funktionen, die die Anwendung mit dem Verbindungshandle aufrufen kann, SQLSet Verbinden Attr, SQLGet Verbinden Attr oder SQLGetInfo mit der Option SQL_ODBC_VER. Das Aufrufen anderer Funktionen mit dem Verbindungshandle, z. B. SQLEndTran, gibt SQLSTATE 08003 zurück (Verbinden ion nicht geöffnet). Ausführliche Informationen finden Sie in Anhang B: ODBC-Zustandsübergangstabellen.

Weitere Informationen zu Verbindungshandles finden Sie unter Verbinden ion Handles.