Zum Hauptinhalt springen

Transaktionsverarbeitung

Transaktionsverarbeitung Verarbeitungen von Transaktionen

Segmente, die während einer Transaktion verändert werden, bleiben im Datenbankpuffer bis die Transaktion beendet ist. Bei der Verdrängung solcher Segmente aus dem Puffer werden diese in die temporäre Transaktionsdatei übertragen. Jede Änderung in der Datenbank wird innerhalb einer Transaktion definiert, auch wenn keine expliziten Transaktionen in der Applikation benutzt werden.

info

Änderungen an den folgenden Datenbankinhalten werden von der Transaktion berücksichtigt:

  • Datensätze
  • Prozeduren
  • Texte
  • Binäre Verzeichnisse und Objekte
  • Dialog-Objekte
  • Bilder in der Ressourcenverwaltung
  • Selektionen
info

Kehrt eine Prozedur in den Designer zurück oder wird ein Benutzer abgemeldet, werden die offenen Transaktionen abgebrochen des Benutzers.

Sperrkonflikte

Transaktionssegmente bleiben bis zum Ende der Transaktion gesperrt, das heißt andere Benutzer können Daten im gleichen Segment nicht verändern. Beim Versuch eines Benutzers, Daten in einem Segment zu ändern, das bereits durch eine offene Transaktion eines anderen Benutzers geändert wurde, entsteht ein sogenannter Sperrkonflikt. Dieser führt zum Warten des Benutzers auf das Transaktionsende und die damit verbundene Freigabe des Segments. Dauert der Wartezustand länger als zwei Sekunden, wird auf der Station entweder ein "W" in der obersten Zeile angezeigt oder es erscheint die Meldung "Bitte warten...".

Das Meldungsfenster kann über die Eigenschaften Caption und CaptionColor des _App-Objekts angepasst werden.

Verklemmungen

Sperrkonflikte können zu Verklemmungen (Deadlocks) führen, wenn beispielsweise Benutzer A auf ein Segment von Benutzer B wartet und Benutzer B auf ein Segment von Benutzer A. In diesem Fall würden beide Benutzer ewig warten. Der CONZEPT 16-Server stellt eine solche Situation fest und bricht eine der beteiligten Transaktionen ab. Dabei wird die Transaktion abgebrochen, in der bisher am wenigsten Datenbankoperationen durchgeführt wurden.