MySQL wäre natürlich das einfachste aber das mit der Datei würd ich nicht unbedingt machen. Es geht ja ums Netzwerk, wenn schon die RealdataSQL warum dann nicht über das Netzwerk kommunizieren? Warum den Umweg über eine Datei. Ich würd dann das Netzwerk nutzen, will ein Client was in die Database schreiben fragt er erstmal im Netzwerk ob jemand anderes grade in die Database schreibt und nur wenn dies nicht der Fall ist darf man auch was in die Database reinschreiben. Das ist eigentlich nicht wirklich schwer.
Auch Michaels Idee ist nicht schlecht: Ein Masterprogramm schreiben, dass die Database öffnet, liest und beschreibt und die Clients kommunizieren über das Netzwerk lediglich mit dem Masterprogramm und sagen diesem was sie tun möchten. Am 08.02.2010 22:39 Uhr schrieb "Michael Kagerbauer" unter <realbasicli...@kagerbauer.net>: > Am 08.02.10 22:22, schrieb Thomas Tempelmann: > >> Ich vermute, es würde reichen, wenn du dafür sorgst, daß wenn ein >> programm in die DB schreiben will, alle anderen ihren DB-Zugrif so >> lange schließen. Dazu könntest du eine Datei auf einem >> Netzwerk-Dateiserver haben, der 1. mitzählt, wie viele PCs grad die DB >> geöffnet haben, und dann über einen anderen Wert darin alle mitteilen, >> daß sie die DB schließen sollen. Dazu müssen natürlich alle Apps diese >> Datei konstant wiederholt abfragen. > > So eine Locking-Datei wird aber spätestens dann zum Problem, wenn diese > unerwartet nicht mehr gelöscht/aktualisiert wird und daher alle anderen > PCs keinen Zugriff mehr haben :-) > > Rein theoretisch müsste man das ganze so bauen, das Schreibzugriffe so > kurz wie möglich dauern, damit das File nicht mehr gelocked ist. Oder > man baut sich eine zweite Applikation auf dem Server, welche über TCP/IP > per Schnittstelle (z.B. XML) die SQL-Kommandos entgegennimmt und mit dem > Resultat antwortet - dann hat nur das Server-Programm alleinigen Zugriff > auf das Datenbankfile und kann konkurrierende Schreibzugriffe intern regeln. > >> Oder du installiert MySQL oder PostgreSQL auf einem Server und benutzt >> dann eines der einschlägigen SQL-Datenbank-Plugins dafür. Das ist dann >> auch kostenlos. > > Das wäre mit steigender Anzahl an Benutzern natürlich die beste Lösung, > wobei PostgreSQL und MySQL dann eben den Nachteil haben, das die > anfängliche Installation / Konfiguration komplizierter wäre.