Einzelnen Beitrag anzeigen

SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Datensatzsperre mit Access

  Alt 2. Feb 2011, 13:49
Mit Transaktionen habe ich auch schon probiert, da komme ich aber auch zu keinem Ergebnis. Wenn ich testweise mit zwei Arbeitsstationen für den besagten Fall zur gleichen Zeit auf "Speichern" klicke, bekomme ich jedesmal die selbe (fotlaufende) Nummer vergeben. Ich bekomme keine Fehlermeldung, dass da jetzt was gesperrt ist oder so.
Mit einer "Protokoll-Tabelle" habe ich es auch schon probiert. Ich schreibe da einen Datensatz mit dem Computernamen beim Speichern, dann suche ich mir die nächste Nummer raus, dann prüfe ich noch mal den Computernamen in der "Protokoll-Tabelle" und wenn das der gleiche ist, dann nehme ich die Nummer, ansonsten hole ich noch mal die "Neue". Funktioniert aber auch nicht.

Ich bin der Meinung, dass es nicht viel sein kann, dass ich einfach in den entsprechenden Eigenschaften falsche Werte drin habe. Oder es ist ein grundsätzlicher Bug in den ADO-Komponenten und da wird es schwer etwas zu finden.

Als Dirty-Version habe ich mir schon überlegt, dass ich eine Datei Exclusiv in dem Ordner erstelle, in dem die Access-Datenbank liegt und und diese wieder lösche, wenn der Vorgang beendet ist. Wenn der zweite Client das selbe versuchen will, gibt es da halt eine Fehlermeldung, da er die Datei ja nicht auch noch anlegen kann. Die Fehlermeldung fange ich dann natürlich ab und probiere es dann z.B. nach 50ms noch mal, solange bis es klappt. Wie gesagt, dirty und es könnten mir eventuell dadurch noch andere Probleme entstehen, wie z.B. die Datei kann nicht gelöscht werden usw.

Laut meinen Informationen müsste es aber auch direkt in Access gehen. Ich hoffe, ich bekomme das noch raus oder es hat schon mal jemand mit dem selben Problem zu tun gehabt.
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.
  Mit Zitat antworten Zitat