Anhang F: ODBC-Cursorbibliothek

Wichtig

Dieses Feature wird in einer zukünftigen Version von Windows entfernt. Vermeiden Sie die Verwendung dieses Features in neuen Entwicklungsvorgängen, und planen Sie, Anwendungen zu ändern, die dieses Feature derzeit verwenden. Microsoft empfiehlt die Verwendung der Cursorfunktion des Treibers.

Die ODBC-Cursorbibliothek (Odbccr32.dll) unterstützt scrollbare Blockcursors für jeden Treiber, der der API-Konformitätsstufe der Ebene 1 entspricht und von Entwicklern mit ihren Anwendungen oder Treibern neu verteilt werden kann. Die Cursorbibliothek unterstützt auch positionierte Update- und Delete-Anweisungen für resultsets, die von SELECT-Anweisungen generiert wurden. Obwohl sie nur statische und vorwärtsgerichtete Cursor unterstützt, erfüllt die Cursorbibliothek die Anforderungen vieler Anwendungen. Darüber hinaus kann es eine gute Leistung bieten, insbesondere für kleine bis mittelgroße Resultsets und für Anwendungen, die keine gute Cursorunterstützung haben.

Die Cursorbibliothek ist eine DLL (Dynamic Link Library), die sich zwischen dem Treiber-Manager und dem Treiber befindet. Wenn eine Anwendung eine Funktion aufruft, ruft der Treiber-Manager die Funktion in der Cursorbibliothek auf, die die Funktion entweder ausführt oder im angegebenen Treiber aufruft. Für eine bestimmte Verbindung gibt eine Anwendung an, ob die Cursorbibliothek immer verwendet, verwendet wird, wenn der Treiber keine scrollbaren Cursor unterstützt oder nie verwendet wird.

Die Cursorbibliothek wird als Treiber für den Treiber-Manager angezeigt. Wenn sich die Cursorbibliothek zwischen dem Treiber-Manager und einem ODBC 2.x-Treiber befindet, wird die Cursorbibliothek als ODBC 2.x-Treiber angezeigt. Wenn sich die Cursorbibliothek zwischen dem Treiber-Manager und einem ODBC 3.x-Treiber befindet, wird die Cursorbibliothek als ODBC 3.x-Treiber angezeigt. Das Verhalten der Cursorbibliothek hängt von der Version des Treibers ab, mit dem sie arbeitet, mit Ausnahme von Bindungsoffsets, die sowohl für ODBC 2.x - als auch für ODBC 3.x-Treiber unterstützt werden.

Zum Implementieren von Blockcursors in SQLFetch und SQLFetchScroll ruft die Cursorbibliothek wiederholt SQLFetch im Treiber auf. Zum Implementieren des Bildlaufs werden die abgerufenen Daten im Arbeitsspeicher und in Datenträgerdateien zwischengespeichert. Wenn eine Anwendung ein neues Rowset anfordert, ruft die Cursorbibliothek es nach Bedarf aus dem Treiber oder cache ab.

Um positionierte Update- und Delete-Anweisungen zu implementieren, erstellt die Cursorbibliothek eine UPDATE- oder DELETE-Anweisung mit einer WHERE-Klausel, die den zwischengespeicherten Wert jeder gebundenen Spalte in der Zeile angibt. Wenn sie eine positionierte Update-Anweisung ausführt, aktualisiert die Cursorbibliothek ihren Cache aus den Werten in den Rowsetpuffern.

Weitere Informationen zur ODBC-Cursorbibliothek finden Sie in den folgenden Abschnitten dieses Anhangs: