Verbindungshandles

Eine Verbindung besteht aus einem Treiber und einer Datenquelle. Ein Verbindungshandle identifiziert jede Verbindung. Das Verbindungshandle definiert nicht nur, welcher Treiber verwendet werden soll, sondern welche Datenquelle mit diesem Treiber verwendet werden soll. Innerhalb eines Codesegments, das ODBC (Treiber-Manager oder Treiber) implementiert, identifiziert das Verbindungshandle eine Struktur, die Verbindungsinformationen enthält, z. B. folgendes:

  • Der Status der Verbindung

  • Die aktuelle verbindungsbasierte Diagnose

  • Die Handles von Anweisungen und Deskriptoren, die derzeit für die Verbindung zugeordnet sind

  • Die aktuellen Einstellungen der einzelnen Verbindungsattribute

ODBC verhindert nicht mehrere gleichzeitige Verbindungen, wenn der Treiber sie unterstützt. Daher können mehrere Verbindungshandles in einer bestimmten ODBC-Umgebung auf eine Vielzahl von Treibern und Datenquellen, auf denselben Treiber und eine Vielzahl von Datenquellen oder sogar auf mehrere Verbindungen mit demselben Treiber und derselben Datenquelle verweisen. Einige Treiber beschränken die Anzahl der aktiven Verbindungen, die sie unterstützen; Die Option SQL_MAX_DRIVER_CONNECTIONS in SQLGetInfo gibt an, wie viele aktive Verbindungen ein bestimmter Treiber unterstützt.

Verbinden ion-Handles werden in erster Linie verwendet, wenn eine Verbindung mit der Datenquelle (SQL Verbinden, SQLDriver Verbinden oder SQLBrowse Verbinden) hergestellt wird, die Verbindung mit der Datenquelle (SQLDisconnect) getrennt wird und Informationen zum Treiber und zur Datenquelle (SQLGetInfo) abgerufen wird. Diagnose (SQLGetDiagField und SQLGetDiagRec) und Ausführen von Transaktionen (SQLEndTran). Sie werden auch beim Festlegen und Abrufen von Verbindungsattributen (SQLSet Verbinden Attr und SQLGet Verbinden Attr) und beim Abrufen des systemeigenen Formats einer SQL-Anweisung (SQLNativeSql) verwendet.

Verbinden ion-Handles werden zugeordnet SQLAllocHandle und mit SQLFreeHandle freigegeben.