Cursorverhalten
ODBC unterstützt die ISO-Optionen für die Definition des Verhaltens von Cursorn durch Angabe ihrer Bildlauffähigkeit und Sensitivität. Diese Verhaltensweisen werden angegeben, indem die Optionen SQL_ATTR_CURSOR_SCROLLABLE und SQL_ATTR_CURSOR_SENSITIVITY auf den Aufruf von SQLSetStmtAttr festgelegt werden. Der SQL Server Native Client ODBC-Treiber implementiert diese Optionen, indem er Servercursor mit den folgenden Eigenschaften anfordert.
Einstellungen für das Cursorverhalten |
Angeforderte Servercursoreigenschaften |
---|---|
SQL_SCROLLABLE und SQL_SENSITIVE |
Keysetgesteuerter Cursor und versionsbasierte vollständige Parallelität |
SQL_SCROLLABLE und SQL_INSENSITIVE |
Statischer Cursor und Parallelität READ_ONLY |
SQL_SCROLLABLE und SQL_UNSPECIFIED |
Statischer Cursor und Parallelität READ_ONLY |
SQL_NONSCROLLABLE und SQL_SENSITIVE |
Vorwärtscursor und versionsbasierte vollständige Parallelität |
SQL_NONSCROLLABLE und SQL_INSENSITIVE |
Standardresultset (Vorwärts, schreibgeschützt) |
SQL_NONSCROLLABLE und SQL_UNSPECIFIED |
Standardresultset (Vorwärts, schreibgeschützt) |
Versionsbasierte vollständige Parallelität erfordert in der zugrunde liegenden Tabelle eine timestamp-Spalte. Wenn versionsbasierte vollständige Parallelitätssteuerung für eine Tabelle angefordert wird, die über keine timestamp-Spalte verfügt, verwendet der Server die auf Werten basierende vollständige Parallelität.
Bildlauffähigkeit
Wenn SQL_ATTR_CURSOR_SCROLLABLE auf SQL_SCROLLABLE festgelegt ist, unterstützt der Cursor alle verschiedenen Werte des FetchOrientation-Parameters von SQLFetchScroll. Wenn SQL_ATTR_CURSOR_SCROLLABLE auf SQL_NONSCROLLABLE festgelegt ist, unterstützt der Cursor nur den FetchOrientation-Wert SQL_FETCH_NEXT.
Sensitivität
Wenn SQL_ATTR_CURSOR_SENSITIVITY auf SQL_SENSITIVE festgelegt ist, spiegelt der Cursor Datenänderungen wider, die vom aktuellen Benutzer oder über Commitvorgänge anderer Benutzer ausgeführt werden. Wenn SQL_ATTR_CURSOR_SENSITIVITY auf SQL_INSENSITIVE festgelegt ist, spiegelt der Cursor keine Datenänderungen wider.