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 http://msdn.microsoft.com/de-de/library/ms713605.aspx.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |