ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
275
275
EMPFEHLEN
-
Hy...
Ich arbeite mit dem BCB 6 und einer Interbase Datenbank 6.0.1
Der IB-Server liegt im Netzwerk und arbeitet da so vor sich hin...
Dann hab ich noch 'n schönes Programm geschrieben das auf diese DB zugreift. Das funktioniert soweit auch ganz gut, solange nur EIN Client auf die DB zugreift.
Wenn ich jetzt mehr als ein Client gestartet wird, der auf die DB zugreift, gibt's auch erstmal keine kritischen Probleme. Erst wenn Client A einen Datensatz schreibt und danach Client B diesen Datensatz lesen will. Client B bekommst nämlich jetzt nicht die geänderten Daten, sondern die "alten Daten", wie sie waren bevor sie von Client A geändert wurden.
Meiner Meinung nach is das ein Transaktionsproblem. Also Client A schreibt in einer eigenen Transaktion die Daten in die DB. Jetzt kommt Client B und liest in seiner eigenen Transaktion den selben Datensatz.
Normalerweise kann man so eine Transaktion einfach mit einem "Commit" beenden, so das ihre Daten fest in die DB geschrieben werden. Und wenn dann Jemand anderes kommt und die Daten lesen will, bekommt er automatisch die aktuellsten Daten.
Soviel zu Theorie. Irgendwie Funktioniert das nur leider, wie so oft nicht richtig. Mein Programm kann immer nur so auf die Daten zugreifen, wie sie waren, als es gestartet wurde. Nur ein Neustart des Programms kann die Daten auf den aktuellsten Stand bringen. Jetzt kann man sich natürlich vorstellen, das es ziemlich nervig ist, das Programm jedensmal neu zu starten um mit aktuellen Daten arbeiten zu können, nicht wahr?
Letztendlich möchte ich das sobald ein Client Daten in der DB geändert hat, sie auf allen anderen Clients zum Zugriff bereit stehn, so dass niemals "alte" Daten aus der DB gelesen werden.
Weiß jemand, woran das liegt, bzw. wie ich das Problem lösen kann?
(Ich hoffe ich hab das Problem vernünftig geschildert?!)noch 'n bischen Werbung in eigener Sache: www.ice-only.de
-
Alles klar! ich hab des Problems Lösung:
Die Daten müssen "Commited" gelesen werden. Das geht mit eine paar einfachen Parametern in der IBTransaction-Komponente. Doppelklick drauf, dann öffnet sich ein Fenster in der man diese Parametrierung vornehmen kann...
gruß Supanoch 'n bischen Werbung in eigener Sache: www.ice-only.de
Ähnliche Themen
-
[SQL Server 2008] Transaktions Log bei großen Datenbankaktionen klein halten
Von Thomas Darimont im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 15.06.10, 11:28 -
Vermutlich ein Join-Problem
Von yahooooo im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 07.11.05, 16:15 -
Internet Problem vermutlich Virus etc.
Von Gudy im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 09.01.05, 00:12 -
ReplaceAll, vermutlich regular expression Problem
Von Layna im Forum JavaAntworten: 2Letzter Beitrag: 24.11.04, 10:16 -
GridBagLayout, vermutlich Resize-Problem
Von Layna im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 3Letzter Beitrag: 03.11.04, 14:47





Zitieren
Login






