Autor Beitrag
Killi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 299

Win*
D6 Prof
BeitragVerfasst: Do 24.04.03 10:08 
Hi!

Also - ich hab einen Terminplaner gemacht, mit dem man auch Einträge an andere user speichern kann, also praktisch im netz - jetzt muss man beim 1. Programmstart (komplizierterweise) den Pfad zur DB im Netz angeben, der wird übergeben und alles funkt wunderbar - bis ein anderer Computer die Software auch installiert und dann startet - dann steht da "Verzeichnis wird von einer anderen .NET Datei kontrolliert", das ist DIE, bei den DBs im Netzwerk........anscheinend geht das aber SO, da mein Bekannter das auch so gemacht hat - ich hab keine AHnung was ich falsch mache!
Könnt ihr mir BITTE helfen??? Wieso können keine 2 Leute drauf zugreifen (hab ja alles mit Lock und UnlockTable gemacht dass es keine Probleme gibt...)
Schonmal VIELEN VIELEN DANK im Vorraus!!!
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Do 24.04.03 10:22 
Hallo

ich hatte bei mir das gleiche Problem.

1. Bei mir war in der BDE der Treiber für meine Datenbank auf Paradox eingestellt, obwohl ich DBase benutzte. Das musst ich ändern. (Konfiguration: System: Init: Default Driver!).

2. Mit
ausblenden Quelltext
1:
2:
Session.NetFileDir := 'C:\';
Session.PrivateDir := 'C:\';

hab ich erstmal garantiert, das die Programme ihre temporären Dateien da ablegen, wo kein andere rankommt, bzw. sie keinen stören.

3. Tja, und wenn dann die ganzen Netzwerk-Freigaben richtig eingestellt sind, dürfte es funzen. Und das tut es mittlerweile, sogar in meinem Novell-Netzwerk.

Wenn du noch fragen hast, frag, ansonsten empfehle ich dir diesen Thread:
www.delphi-forum.de/...=5722&highlight=
(Hier stehen einige interessante Dinge drin)

Ich hab mir mit diesem Problem nämlich auch einige Nächte um die Ohren geschlagen.. :)

mfg


// EDIT:
wenn du natürlich mit einer Paradox-Tabelle arbeitest, brauchst du den Treiber, logisch, aber dann hilft vielleicht schon das Session.NetFile etc.. weiter.
Killi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 299

Win*
D6 Prof
BeitragVerfasst: Do 24.04.03 10:44 
Das Session.... hab ich jetzt in FMain.Create geschrieben, bringt aber nix - kommt die gleiche Meldung mit "Verzeichnis C:\"; "Datei: NETZWERKPFAD"
was soll ich denn machen? Hab ich das Session-Teil nicht richtig plaziert, oder.....ich bin am verzweifeln!
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Do 24.04.03 11:09 
Benutz du ne Paradox-DB? Wenn nicht, hast du meinen 1. Punkt schon mal in die Tat umgesetzt?
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Do 24.04.03 11:50 
Hi Killi
kiwicht hat folgendes geschrieben:
1. Bei mir war in der BDE der Treiber für meine Datenbank auf Paradox eingestellt, obwohl ich DBase benutzte. Das musst ich ändern. (Konfiguration: System: Init: Default Driver!).

Eigentlich egal. Denn der richtige Treiber wird anhand der Dateiendung ermittelt.

kiwicht hat folgendes geschrieben:

2. Mit
ausblenden Quelltext
1:
2:
Session.NetFileDir := 'C:\';
Session.PrivateDir := 'C:\';

hab ich erstmal garantiert, das die Programme ihre temporären Dateien da ablegen, wo kein andere rankommt, bzw. sie keinen stören.

PrivateDir auf das lokale Laufwerk ist in Ordnung. Aber NetFileDir legt den Zugriffspfad für die Sperrdatei fest. Und auf die müssen dann alle Netzwerkbenutzer zugreifen können. Wenn die lokal liegt kann's nicht funktionieren.

Wenn du also den Pfad für die Datenbank hast, dann hol dir daraus den Laufwerksbuchstaben und setze NetFileDir auf dieses Laufwerk. Das muss im Programm passieren, bevor die Datenbank geöffnet wird. Ich bin mir nicht ganz sicher, aber ich glaube, das muss sogar bei allen Anwendern auf denselben Laufwerksbuchstaben gemapt sein.
Dann solltest du mal sicherheitshalber alle .LCK Dateien die noch lokal liegen löschen und dann sollte das klappen.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Killi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 299

Win*
D6 Prof
BeitragVerfasst: Do 24.04.03 12:46 
OK, hab das PrivateDir jetzt auf C:\ gesetzt und NetFileDir habe ich einfach den Netzwerkpfad für die DBs übergeben - funktioniert wunderbar! DANKE!!!!!!
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Do 24.04.03 17:48 
Anmerkung (nur rethorisch) ;)
LCS hat folgendes geschrieben:

Eigentlich egal. Denn der richtige Treiber wird anhand der Dateiendung ermittelt.

Das hat er bei mir ja leider nicht gemacht: Nutze DBaseIII, Treiber steht auf Paradox :(
LCS hat folgendes geschrieben:

PrivateDir auf das lokale Laufwerk ist in Ordnung. Aber NetFileDir legt den Zugriffspfad für die Sperrdatei fest. Und auf die müssen dann alle Netzwerkbenutzer zugreifen können. Wenn die lokal liegt kann's nicht funktionieren.

Hm, bei mir hats so halt bis jetzt immer funktioniert. Ist aber gut zu wissen, weil dann werd ich das auch gleich mal fixen, der Ordnung halber ;)


Freut mich jedenfalls das es geklappt hat

mfg[/code]