ODBC - Offene Transaktion unterbindet Abfrage
-
Hi Leute!
Ich habe mal wieder ein Problem aus der verkorksten Welt der MFC Datenbankbank-Programmierung
Ich greife per CDatabase auf eine Interbase Datenbank zu. Folgendes Problem ergibt sich:
Benutzer No1 schickt folgendes Statement ab:update testdaten set text = 'Hallo' where nr = 1;
Im selben Augenblick versucht Benutzer No2 ein Recordset der selben Tabelle
mit folgendem einfachen Statement zu öffnen:select * from testdaten;
Leider hängt die Abfrage
Warum kommt das ergebnis erst, wenn Benuter No1 mit "commit" seine Transaktion beendet ?
Normalerweise müsste Benutzer No2 doch einfach den Stand vor dem "update" von Benuter No1 bekommen oder nicht ?!
-
Jein. (Vorsicht Halbwissen)
Es gibt zwei Möglichkeiten eine Tabelle zu sperren.
1. Gegen weitere Schreibzugriffe (deine Vermutung)
2. KomplettWelche Version nutzt denn Interbase? Kann man es ändern?
Ich würde da mal Doku wälzen. Auf Anhieb weiß ich leider nichtmal, wo ich das bei "meinem" Server hier suchen müßte. (Und von Interbase habe ich gar keine Ahnung.)
-
Naja es muss ja irgendwas sein, was sich über die ODBC Schnittstelle regeln lässt. Nur wo
und was ?
Aber Schreib/Lese Zugriff im Zusammenhang mit Transaktion ist vielleicht schonmal ein guter Ansatz.