AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO (automatische DB Syncronisierung verhindern)
Thema durchsuchen
Ansicht
Themen-Optionen

ADO (automatische DB Syncronisierung verhindern)

Ein Thema von opfer.der.genauigkeit · begonnen am 19. Dez 2005 · letzter Beitrag vom 5. Jan 2006
Antwort Antwort
Seite 2 von 2     12   
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: ADO (automatische DB Syncronisierung verhindern)

  Alt 5. Jan 2006, 16:23
Zitat von opfer.der.genauigkeit:
Dass die Datensätze automatisch mit der Datenbank abgeglichen werden hat laut MS schon etwas mit impliziten Transaktionen zu tun.
Die "implicit transactions" schlagen erst zu, wenn ein entsprechender (SQL-)Befehl abgesetzt wurde. Die impliziten Transaktionen finden ja auf Serverseite statt.

Per default speichert ein MyDataSet.Post alle Änderungen unmittelbar in der Datenbank. Dein Ansatz ('BeginTransaction') unterbindet das nicht, sondern sagt dem Server nur, das er die Änderungen noch nicht speichern soll. Der Server wird aber mit Befehlen bombardiert, die er sowieso wieder rückgängig machen wird (per Rollback). Schlimmer ist, das -je nach Einstellung des 'Isolation Level'- Tabellen gesperrt werden, sodaß u.U. kein Anderer mehr mit der DB arbeiten kann, bis Du dein Rollback (oder Commit) ausführst.

Transaktionen dienen eigentlich nur zum Kapseln atomarer Operationen. Klassisches Beispiel wäre eine Anwendung, die eine Banküberweisung tätigt. Dann muss die Belastung des einen Kontos und die Gutschrift des anderen Kontos in einer Transaktion gekapselt werden.

Grundsätzlich sollte man die Transaktionen zu kurz wie möglich offen halten, damit eine echte Mehrbenutzerumgebung gewährleistet ist.


Zum Schluss: Entschuldigung, das ich erst so spät antworte. Ich werd' mich gleich mal geißeln... Warte ...

So, jetzt gehts mir besser

"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 14:02 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