Implementieren von Cursorn
ODBC-Anwendungen steuern das Cursorverhalten, indem mindestens ein Anweisungsattribut festgelegt wird, bevor eine SQL-Anweisung ausgeführt wird. ODBC bietet zwei verschiedene Möglichkeiten, die Merkmale eines Cursors anzugeben:
Cursortyp
Cursortypen werden mit dem SQL_ATTR_CURSOR_TYPE-Attribut von SQLSetStmtAttr festgelegt. Die ODBC-Cursortypen sind vorwärts, statisch, keysetgesteuert, gemischt und dynamisch. Durch Festlegen des Cursortyps wurden Cursor in ODBC ursprünglich angegeben.
Cursorverhalten
Das Cursorverhalten wird mit dem SQL_ATTR_CURSOR_SCROLLABLE-Attribut und dem SQL_ATTR_CURSOR_SENSITIVITY-Attribut von SQLSetStmtAttr festgelegt. Diese Attribute werden anhand der Schlüsselwörter SCROLL und SENSITIVE modelliert, die für die DECLARE CURSOR-Anweisung in ISO-Standards definiert wurde. Diese beiden ISO-Optionen wurden in ODBC Version 3.0 eingeführt.
Die Merkmale eines ODBC-Cursors sollten mit einer der beiden Methoden angegeben werden, wobei die ODBC-Cursortypen vorzuziehen sind.
Neben dem Cursortyp legen ODBC-Anwendungen noch andere Optionen fest, z. B. die Anzahl der bei jedem Abruf zurückgegebenen Zeilen, Parallelitätsoptionen und Transaktionsisolationsstufen. Diese Optionen können entweder für ODBC-Cursor (vorwärts, statisch, keysetgesteuert, gemischt und dynamisch) oder ISO-Cursor (Bildlauffähigkeit und Sensitivität) festgelegt werden.
Der SQL Server-Native Client-ODBC-Treiber unterstützt mehrere Möglichkeiten, die verschiedenen Cursortypen physisch zu implementieren. Der Treiber implementiert einige Cursortypen mit einem SQL Server-Standardresultset und andere als Servercursor oder mit der ODBC-Cursorbibliothek.