Cursorverhalten
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)
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 durch Festlegen der SQL_ATTR_CURSOR_SCROLLABLE und SQL_ATTR_CURSOR_SENSITIVITY Optionen für einen Aufruf von SQLSetStmtAttr angegeben. Der ODBC-Treiber für SQL Server Native Client implementiert diese Optionen, indem Servercursor mit den folgenden Merkmalen angefordert werden.
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 optimistische Parallelität erfordert eine Zeitstempelspalte in der zugrunde liegenden Tabelle. Wenn versionsbasiertes optimistisches Parallelitätssteuerelement für eine Tabelle angefordert wird, die keine Zeitstempelspalte aufweist, verwendet der Server wertebasierte optimistische Parallelität.
Bildlauffähigkeit
Wenn SQL_ATTR_CURSOR_SCROLLABLE auf SQL_SCROLLABLE festgelegt ist, unterstützt der Cursor alle verschiedenen Werte für den FetchOrientation-Parameter von SQLFetchScroll. Wenn SQL_ATTR_CURSOR_SCROLLABLE auf SQL_NONSCROLLABLE festgelegt ist, unterstützt der Cursor nur einen FetchOrientation-Wert von SQL_FETCH_NEXT.
Datensensitivitä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.