Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Programmierung » ODBC-Unterstützung » Mit Ergebnismengen arbeiten

 

Isolationsstufen für ODBC-Transaktionen wählen

Mit SQLSetConnectAttr können Sie die Isolationsstufe der Transaktion für eine Verbindung festlegen. Folgende Merkmale bestimmen die von SQL Anywhere bereitgestellte Transaktions-Isolationsstufe:

  • SQL_TXN_READ_UNCOMMITTED   Die Isolationsstufe wird auf "0" gesetzt. Wenn dieser Attributwert festgelegt wird, werden alle Daten, die aus Änderungen durch andere Benutzern stammen, isoliert, und Änderungen anderer Benutzer sind nicht sichtbar. Das erneute Ausführen der Leseanweisung wird von anderen beeinflusst. Wiederholbare Lesevorgänge werden nicht unterstützt. Es handelt sich hierbei um den Standardwert für die Isolationsstufe.

  • SQL_TXN_READ_COMMITTED   Die Isolationsstufe wird auf 1 gesetzt. Wenn dieser Attributwert festgelegt wird, werden die Daten, die aus Änderungen durch andere Benutzern stammen, nicht isoliert, und Änderungen anderer Benutzer sind sichtbar. Das erneute Ausführen der Leseanweisung wird von anderen beeinflusst. Wiederholbare Lesevorgänge werden nicht unterstützt.

  • SQL_TXN_REPEATABLE_READ   Die Isolationsstufe wird auf 2 gesetzt. Wenn dieser Attributwert festgelegt wird, werden alle Daten, die aus Änderungen durch andere Benutzern stammen, isoliert, und Änderungen anderer Benutzer sind nicht sichtbar. Das erneute Ausführen der Leseanweisung wird von anderen beeinflusst. Wiederholbare Lesevorgänge werden unterstützt.

  • SQL_TXN_SERIALIZABLE   Die Isolationsstufe wird auf 3 gesetzt. Wenn dieser Attributwert festgelegt wird, werden alle Daten, die aus Änderungen durch andere Benutzern stammen, isoliert, und Änderungen anderer Benutzer sind nicht sichtbar. Das erneute Ausführen der Leseanweisung wird von anderen nicht beeinflusst. Wiederholbare Lesevorgänge werden unterstützt.

  • SA_SQL_TXN_SNAPSHOT   Die Isolationsstufe wird auf "snapshot" gesetzt. Wenn dieser Attributwert gesetzt ist, wird für die gesamte Transaktion eine einzelne Ansicht der Datenbank bereitgestellt.

  • SA_SQL_TXN_STATEMENT_SNAPSHOT   Die Isolationsstufe wird auf "statement-snapshot" gesetzt. Wenn dieser Attributwert gesetzt ist, wird eine geringere Konsistenz bereitgestellt als bei der Snapshot-Isolation. Er kann jedoch in Fällen nützlich sein, in denen lang laufende Transaktionen dazu führen, dass durch das Speichern der Versionen zu viel Speicherplatz in der temporären Datei belegt wird.

  • SA_SQL_TXN_READONLY_STATEMENT_SNAPSHOT   Die Isolationsstufe wird auf "readonly-statement-snapshot" gesetzt. Wenn dieser Attributwert gesetzt ist, wird eine geringere Konsistenz bereitgestellt als bei einer Anweisungs-Snapshot-Isolation, aber die Möglichkeit von Aktualisierungskonflikten wird vermieden. Daher ist diese Isolationsstufe am besten für die Portierung von Anwendungen geeignet, die ursprünglich dazu gedacht waren, unter anderen Isolationsstufen zu laufen.

Die Datenbankoption allow_snapshot_isolation muss auf "On" gesetzt sein, wenn Sie die Einstellung "snapshot", "statement-snapshot" oder "readonly-statement-snapshot" verwenden möchten.

Weitere Hinweise finden Sie unter "SQLSetConnectAttr" in der Microsoft-Dokumentation ODBC API Reference unter [external link] http://msdn.microsoft.com/en-us/library/ms713605.aspx.

 Beispiel