title image


Smiley Du hast den UNC-Pfad unvollständig angegeben...
Der UNC-Pfad setzt sich IMMER aus dem Rechner- bzw. Servernamen UND dem Freigabenamen sowie eventuell Unterverzeichnisnamen zusammen. Dazu kommt dann natürlich noch der Dateiname.



Machen wir ein bisschen Netzwerktheorie:



Wir gehen davon aus, dass du ein Netzwerk hast, welches in diesem Fall aus zwei Rechnern besteht. Jeder Rechner hat einen eindeutigen Namen, die hier "Rechner1" und "Rechner2" heißen. "Rechner1" soll der Rechner sein, an dem du arbeitest und auf dem du deine EXE ausführst (Egal, ob diese auf dem selben Rechner liegt oder irgendwo im Netzwerk; Wenn du die Datei beispielsweise von "Rechner1" aus im Explorer doppelt anklickst, wird sie AUF "RECHNER1" ausgeführt!). "Rechner2" soll ein anderer Rechner oder Server sein, auf dem die Datenbank liegt.



Auf "Rechner2" gibt es ein Verzeichnis "c:\test\", in welchem deine Datei "datenbank.mdb" abgelegt ist. Das Laufwerk "C" auf dem "Rechner2" sollte eigentlich als Share bzw. Freigabe "C$" benannt sein. Das Dollarzeichen heißt in diesem Fall, dass die Share im Netzwerk zwar NUTZBAR, aber nicht SICHTBAR ist. Es ist eine so genannte versteckte Share.



Um von "Rechner1" aus auf die "datenbank.mdb" auf "Rechner2" zugreifen zu können, kannst du entweder ein Laufwerk mappen, um das Verzeichnis per Laufwerksbuchstaben erreichen zu können oder du sprichst die Datei über den UNC-Namen an. Auch für das Mappen musst du den UNC-Namen benutzen. Vielleicht fällt dir dabei schon der Zusammenhang auf, denn um das Mapping einzurichten, kann man in der Eingabeaufforderung folgenden Befehl eingeben:



net use S: \\Rechner2\c$\test\



Du siehst, dass sowohl der Rechnername/Servername, der Name der Share als auch eventuell ein Unterverzeichnis angegeben sind.



Das Ergebnis kannst du dir nun mit dem Befehl



net use



anzeigen lassen. Wie bereits in meinem vorherigen Beispiel beschrieben, kannst du damit die Zuordnung der Laufwerksbuchstaben zu den UNC-Pfaden überprüfen.



Um auf die oben angegebene Datei "datenbank.mdb" zuzugreifen, kannst du sie nun mit



s:\datenbank.mdb



ansprechen. Wie das Mapping heißt, kann aber von Rechner zu Rechner unterschiedlich sein, was ja dein Problem ist.



OHNE Mapping kannst du die Datei auf JEDEN FALL IMMER über den UNC-Pfad ansprechen. Dieser UNC-Pfad ist VON JEDEM RECHNER AUS immer gleich.



In deinem Fall musst du den UNC-Pfad noch richtig angeben, da ich nicht weiß, wie dein Zielrechner heißt:



.ConnectionString = "\\Rechner2\C$\Test\datenbank.mdb"



Ob du deine Exe nun lokal von Rechner1 aus startest, von Rechner1 aus auf Rechner2 liegend, von Rechner1 aus auf Rechner3 in Tokio oder von Rechner1 aus auf einen Server der Nasa im Orbit, ist völlig egal, solange die Rechner miteinander verbunden sind und auf die Freigaben zugegriffen werden kann.



Das gleiche gilt sogar, wenn deine Datenbank auf dem lokalen Rechner liegt. Auch das Laufwerk/ein Verzeichnis des Rechners, an dem du sitzt, kannst du über den UNC-Pfad ansprechen. Wenn also die ".mdb" im Verzeichnis "c:\test" von "Rechner1" liegt, an dem du gerade arbeitest, heißt der UNC-Pfad "\\Rechner1\C$\test\datenbank.mdb".



Du kannst auf deinem Server, dem "Rechner2" das Verzeichnis "c:\test\" auch mit einer eigenen Freigabe versehen. Dazu öffnest du auf dem "Rechner2" den Explorer, klickst mit der rechten Maustaste auf dieses Verzeichnis, klickst den Reiter "Freigabe" an, gibst dem ganzen einen Namen und eventuell eine Beschreibung und klickst auf "OK". In unserem Fall soll das Verzeichnis "c:\test\" auf "Rechner2" im Netzwerk als Freigabe oder Share mit dem Namen "Datenbankverzeichnis" erreichbar sein. Du klickst also AUF DEM RECHNER2 das Verzeichnis "c:\test\" im Explorer mit der rechten Maustaste an, klickst den Reiter (auch Tab genannt) "Freigabe" an und änderst den Freigabenamen von "test" auf "Datenbankverzeichnis". Bei "Beschreibung" kannst du z. b. "Dies ist meine Datenbankfreigabe" angeben. Von "Rechner1" aus kannst du das Ergebnis nun überprüfen. Öffne eine Eingabeaufforderung und gib den Befehl "dir \\Rechner2\Datenbankverzeichnis\datenbank.mdb" ein. Du solltest nun als Ergebnis "datenbank.mdb" angezeigt bekommen.



Zusammen fassend: Eine Freigabe ist eine andere Bezeichnung für einen Pfad auf einem Rechner oder Server. Auf eine Datei, die darin liegt, wird über den Rechnernamen ->Freigabenamen -> Dateinamen zugegriffen.



@Gaga: Maile mir doch bitte etwas von deiner Handsalbe rüber... ;o)

Gruß aus Ostfriesland. Möge Tux mit Dir sein!

ff


Proggst du schon .net oder quälst du dich noch mit VB6?



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: