Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi dBase im Netzwerk (https://www.delphipraxis.net/56890-dbase-im-netzwerk.html)

robby3 12. Nov 2005 20:09


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.

3_of_8 12. Nov 2005 20:10

Re: dBase im Netzwerk
 
Weißt du, was eine Semaphore ist?

robby3 12. Nov 2005 20:18

Re: dBase im Netzwerk
 
nein :wall:

3_of_8 12. Nov 2005 20:51

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.

marabu 12. Nov 2005 21:05

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

robby3 13. Nov 2005 09:33

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

3_of_8 13. Nov 2005 11:17

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