Autor Beitrag
HenryHux
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: Sa 22.01.11 10:30 
Hi,
ich habe Programme, die in eine gleiche MDB-Datenbank schreiben.
Ich habe noch nicht ausprobiert, ob die auch gleichzeitig schreiben können, denke aber mal nein.
Bevor ich jetzt x verschiedene Datenbanken erstelle, wollte ich mal fragen, wie sinnvoll es ist, bei auftretenden Exceptions das Schreiben einfach nochmal zu probieren.

Lg
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Sa 22.01.11 15:17 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Hallo,

da musst du dich mit Locking beschäftigen. Ich weiss nicht, ob das im konkreten Fall im Schreib-Zugriff eingebaut ist oder ob es spezielle Aufrufe dafür gibt, jedenfalls sollte das so ablaufen:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
try locking record x
  if locked
    write record
    unlock record
  else
    wait 1 second
    try again


Natürlich nicht bis in die Unendlichkeit, nach ein paar Sekunden muss man eben melden, dass dieser Record aktuell nicht verfügbar ist. Das hängt von den Umständen ab (wieviel Tausend User können es versuchen). Datenbanken, die kein Record Locking unterstützen, sind für Multiuserbetrieb nicht wirklich geeignet.

Gruss Reinhard