AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IB-Transaktionen

Ein Thema von HaJo · begonnen am 27. Feb 2005 · letzter Beitrag vom 28. Feb 2005
Antwort Antwort
Seite 5 von 5   « Erste     345   
Quake

Registriert seit: 25. Aug 2003
222 Beiträge
 
Delphi 7 Enterprise
 
#41

Re: IB-Transaktionen

  Alt 28. Feb 2005, 15:00
Das passiert doch aber nur wenn die Transaktion auf Schnappschuß steht, oder?
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#42

Re: IB-Transaktionen

  Alt 28. Feb 2005, 15:20
Dann will ich mal noch was Zitieren aus meinem schlauen Buch.

Zitat:
Stichwort Isolation:

Obwohl mehrere Transactionen zur gleichen Zeit zulässig sind, muss jede Transaction völlig unabhängig von anderen ablaufen. Das System muss sich aus Sicht der Transaction so verhalten, als wäre diese Transaction der einzigste Vorgang. .... Er darf für die Zeitdauer seiner aktiven Transaction niemals die Änderungen von anderen Benutzern, die zwangsläufig im Kontex einer anderen Transaction ausgeführt werden, sehen.

Quelle: Andreas Kosch Interbsae DB-Entwicklung mit Delphi
Wenn ich das jetzt richtig sehe verstehst Du die Transaction so, dass Du die Daten holst - befinden sich also im Kontex der Transaction (geholte Daten stehen unter 1). Nun wird änderst Du die Daten und speicherst die Daten (gespeicherte Daten stehen nun unter 2).

Nun schließt Du die Transaction über CommitRetaining, die Transaction speichert die Daten in der DB schließt sich und öffnet sich gleich wieder und holt sich die Daten die unter 1 stehen, somit den alten nicht geänderten Datenmenge. Da du mit CommitRetaining deine active Transaction niemals schließt, können deine Daten auch nie, während das Programm läuft, eine aktuelle Datenmenge erhalten.

Zitat von HaJo:
Das das korrekt ist, kann ich mir nicht vorstellen!
Die diese vorgehensweise ist schon korrekt. Nehmen wir mal ein simples Beispiel: Du hast ein Programm in dem Briefe erstellt werden können. Die Abarbeitung sieht vor, Brief schreiben und nach dem alle Briefe geschrieben wurden einen Report zu drucken. Die Daten wurde so gesucht, dass er alle Daten sucht, die noch nicht gedruckt und wo kein Report gedruckt wurde.

Nach jedem Brief den Du geschrieben hast speicherst Du das Datum in der DB und rufst ein Soft Commit auf und die Datenmenge zu erhalten aber trotzdem Daten zu speichern und wenn alle Briefe geschrieben wurden druckst Du den Report und schreibst in alle Datensätze das der Report gedruckt wurde.

Durch das Soft Commit sparst Du Netzwerkresourcen und quälst den DB-Server nicht so, da du nur ein update machst. Da wird ja nur der DS geupdated, die Datenmenge wird ja erhalten. Würdest Du hier jedesmal einen HardCommit machen und dann wieder über Select die Daten laden kostet das enorm Resourcen.

Das war jetzt auf einen einzelnen User bezogen, nun stelle Dir das aber mal in einem Unternehmen vor, wo 100 oder 500 oder mehr User an der DB sitzen. Und alle machen jedes Mal ein HardCommit und im Anschluss machen sie ein Select um die wieder zu laden. Ich hoffe Du kannst Dir vorstellen was das für die DB, den Server und das Netzwerk bedeutet.

Das Beispiel ist wahrscheinlich etwas komisch aber ich denke es veranschautlich warum es Soft Commits gibt.
Gruß

Albi
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#43

Re: IB-Transaktionen

  Alt 28. Feb 2005, 15:28
Zitat von Quake:
Das passiert doch aber nur wenn die Transaktion auf Schnappschuß steht, oder?
Genau, dies ist das Standardverhalten der Interbase, ich sehe nur das was da ist.

@HaJo: Ich kann Dir nur empfehlen ein Buch zu kaufen und die Docu zur DB zu lesen. Ansonsten fängst Du an zu schreiben und schreibst und schreibst und kurz bevor du fertig bist und das Prog im Netzwerk testet, stellst sich raus, dass das so nicht geht, da sich die Clients selber behindern. Die Interbase oder jede andere RDM System ist sehr komplizert/komplex. Ist also mit einer Desktop-DB nicht zu vergleichen.
Gruß

Albi
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz