![]() |
dBase im Netzwerk
ich möchte mein Programm im Netzwerk betreiben, so das alle auf eine Table dBase Datenbank zugreifen können.
Meine Frage: Wie kann ich verhindern, dass alle Programme im Netz gleichzeitig auf diese Datenbank zugreifen, und etwas durcheinander kommt? Wie kann ich prüfen ob die Datenbank im Netz gerade benutzt wirt. |
Re: dBase im Netzwerk
Weißt du, was eine Semaphore ist?
|
Re: dBase im Netzwerk
nein :wall:
|
Re: dBase im Netzwerk
Du musst dafür sorgen, dass nur ein Programm auf die DB zugreifen kann. Also immer schnell aufmachen, lesen/schreiben und dann wieder schließen. Und während des Öffnungsvorgangs musst du irgendwo in die DB hinschreiben, dass das bereits ein Programm auf die DB zugreift. Davor musst du noch abfragen, ob bereits ein anderes Programm auf die DB zugreift, und wenn ja, den Öffnungsvorgang abbrechen und nach ein paar Sekunden wieder aufnehmen.
Das Problem heißt übrigens Lost-Update-Problem. |
Re: dBase im Netzwerk
Hallo Jungs, bevor es noch abenteuerlicher wird: Beim Zugriff auf DBF-Dateien über die BDE werden Records automatisch gesperrt (Methode Edit) und entsperrt (Methode Post). Man muss im Programm nur darauf gefasst sein, dass Edit() eine Exception wirft. Zur Unterstützung komplexer Abläufe kann mit Transktionsschutz (Komponente Database) gearbeitet werden. In Ausnahmefällen kann die ganze Datei (Table) gesperrt (LockTable) werden. Mit Interprozesskommunikation (Semaphore) hat das alles nichts zu tun - hier geht es um File- und Record-Locking.
Grüße vom marabu |
Re: dBase im Netzwerk
Hei Guten Morgen zusammen,
ich verstehe das alles nicht, mit Exception kann man Fehler abfangen das weis ich aber wie geht das in der Datenbank. :gruebel: Gruß Robby :-D |
Re: dBase im Netzwerk
Ich glaube, ich sage besser gar nichts mehr. :wall:
Ich hab in den letzten paar Posts nur Zeug geschrieben, das ich für richtig halte, aber vollkommen falsch war. Werde ich langsam alt? :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz