![]() |
Datenbank: Paradox • Zugriff über: grad keine Ahnung!
BDE - multiuser
Hallo
Ich weiß das Thema wurde schon oft angesprochen. Habe auch in vielen Foren nachgeschaut, aber mein Programm funktioniert nicht. Ich habe mehrere Programme. Es sollen mehrere Benutzer gleichzeit öffnen und benutzen können. Oder Ein Benutzer öffnet gleichzeitig mehrere Programme, die alle die gleiche Datenbanken benutzen. In der BDE habe ich alle eingestellt. NetDir: "H:\ProDaten" (Netzlaufwerk, in dem die Datenbanken vorhanden sind) LocalShare auf true Allias Pfad auf den gleichen von NetDir. funktioniert nicht -> wird von einer NET-Datei benutzt Dann habe ich in FormCreate Session hinzugefügt: Session1.NetFileDir := 'H:\Prodaten'; Session1.PrivateDir := 'C:\'; funktioniert nicht -> Verzeichnis in Gebrauch Dann habe ich eine Komponente hinzugefügt - TSession - Session1.Active := false; Session1.NetFileDir := 'H:\Prodaten'; Session1.PrivateDir := 'C:\ProWorks\Auftrag'; Session1.Active := true; es funktioniert, aber ich muss für jedes Programm einen extra Ordner (PrivateDir) erstellen. Ich glaube es geht auch einfacher. Oder? Oder habe ich einen Denkfehler? Ich weiß nicht mehr weiter. Habe so viel schon gelesen und ausprobiert, und bin verwirrt. Und was hat das mit dem Local Share auf sich, denn ich habe es mal auf false gesetzt und es funktioniert. Aber das ist nicht so gut, oder? Gruß von Jerry :wiejetzt: |
Re: BDE - multiuser
Ich greife über BDE auf die Datenbanken zu
|
Re: BDE - multiuser
Hi Jerry,
herzlich willkommen in der Delphi-PRAXiS. Das Einfache zuerst: LOCAL SHARE ist in der Regel FALSE, da die BDE einen eigenen Lock-Mechanismus verwendet. Nur wenn konkurrierende Zugriffe durch nicht BDE-Anwendungen zu befürchten sind, dann muss zusätzlich das file/record-locking des Betriebssystems zugeschaltet werden. Das locking geschieht über paradox lock files im Daten-Verzeichnis. Diese lock files enthalten eine Referenz auf den network control file, der unter NET DIR abgelegt wird. So können einzelne client apps prüfen, ob der gleiche control file verwendet wird, oder ob eine Fehlkonfiguration vorliegt. Für eine saubere Installation löscht du alle lock files, richtest auf jedem client eine Laufwerksverbindung auf das "gleiche" net share ein - z.B. net use P: \\pdxfileserver\db02 /persist o.ä - und dann geht das. Der Laufwerkbuchstabe darf sich unterscheiden, aber nur der. Grüße vom marabu |
Re: BDE - multiuser
Also ich lege als PrivatDir immer ExtractFileName(paramstr(0)) fest, also das eigene Programmverzeichniss. Damit klappts eigentlich ganz gut.
|
Re: BDE - multiuser
Herzlichen Dankeschön für eine (schnelle) Antwort, aber was soll ich jetzt am besten einstellen? LocalShare auf true oder false? Oder muss ich noch was anderes Einstellen?
Jeder Arbeitsplatz hat eine Laufwerkverbindung zu dem Datenbankverzeichnis. |
Re: BDE - multiuser
Wenn ich mich richtig erinnere hatte ich af dem server ein Paradox-Verzeichnis freigegeben, welches ich als NET DIR verwendet habe. Meine Paradox-Datenbanken waren in Unterverzeichnissen davon abgelegt. LOCAL SHARE auf FALSE, weil ich keine parallelen Zugriffe über Fremdsoftware vorgesehen hatte. PrivateDir war bei mir im userprofile abgelegt, aber wenn du auch mehrere Instanzen deines Programms auf der gleichen Maschine zulässt, dann reicht das eventuell nicht.
marabu |
Re: BDE - multiuser
Zitat:
in der BDEADMIN.HLP steht LOCAL SHARE Legt fest, wie eine Dateisperrung zwischen einer aktiven BDE-Anwendung und einer aktiven Nicht-BDE-Anwendung durchzuführen ist. Möchten Sie mit einer BDE- und einer Nicht-BDE-Anwendung dieselben Dateien gleichzeitig bearbeiten, muß die Option auf TRUE gesetzt werden. (Sie brauchen LOCAL SHARE nicht auf TRUE zu setzen, wenn beide Anwendungen nicht gleichzeitig geöffnet sein müssen.) Vorgabewert: FALSE |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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