hallo,
hat jemand eine idee warum folgendes nicht funktioniert?
ich mappe ein laufwerk von meinen server zu einem anderen rechner auf dem sich foxpro tabellen befinden, die Verbindung wird über odbc hergestellt
wenn ich die daten im werform anzeigen will kriege ich die fehlermeldung
ERROR [42S02] [Microsoft][ODBC Visual FoxPro Driver]File 'stkund.dbf' does not exist.
wenn ich die daten aber lokal auf den rechner kopiere funktioniert alles
und es funktioniert auf über den 'iis' der über die entwicklungsumgebujng gestartet wird
aber halt nicht im live betrieb
ich schätze das es irgendein berechtigungs problem ist,das der iis 'user' nicht auf netzressources zugreifen darf
jemand eine idee
(iis 6.0, asp.net 2.0, windows server 2003 standard )
"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."
Netzlaufwerke werden pro Benutzer angelegt. Deine IIS-Webseite läuft nicht unter Deinem Benutzer, sondern unter einem speziellen Dienstkonto (z.B. "ASPNET"). Da dieser Benutzer das Netzlaufwerk nicht angelegt hat, existiert es auch nicht in seiner Windows-Sitzung im Hintergrund.
Du solltest deshalb besser einen UNC-Pfad verwenden:
\FileServer\Share\stkund.dbf
danke für die schnelle antwort!
du meinst eine freigabe auf dem rechner erstellen und darauf zugreifen oder?
das hab ich auch schon probiert funzt aber nicht
"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."
Doch das sollte gehen. Du musst natürlich dem Benutzer des IIS-Anwendungspools, in dem Deine Anwendung läuft, entsprechende Rechte auf die Freigabe erteilen. Standardmäßig dürfen Webanwendungen ungefähr soviel, als wenn Du die Augen zumachst.
ok, und welcher nutzer ist das? ich habe anomyme authentifizierung aktiviert
und die rechte vergebe ich ganz normal über rechte maustaste , eigenschaften, sicherheit oder läuft das auch wieder anders?
"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."
Jede Webanwendung auf einen IIS6 läuft in einem bestimmten Anwendungspool. Dieser Anwendungspool legt fest, unter welchem Benutzerkonto und mit welchen Prozeßeinstellungen die Anwendung laufen, die ihm zugeordnet sind. Im Internetdienste-Manager kannst Du die Einstellung ändern. Die Änderung betrifft alle Anwendungen, die in diesem Pool sind. Wenn es der "Standardanwendungspool (Default App Pool)" ist, solltest Du einen neuen erstellen, Deine Anwendung in den neuen verschieben und die Einstellung dort vornehmen.
Aber denke bitte daran, dass das Benutzerkonto so wenige Rechte wie möglich haben sollte. Du willst sicher nicht, dass bei einem Hack der Webseite, ein Angreifer Kontrolle über den ganzen Server bekommt. Gibt diesem Benutzer niemals Admin-Rechte.
Danke für die hier gefundene Beschreibung der Rechte. Endlich habe ich es verstanden.
Ich habe das Problem, daß ich nur für Benutzer, einen ODBC-Treiber zu einer Prologue-Datenbank Criteria über ein virtuelles Verzeichnis anlegen kann. Ich habe also einen neuen Anwendungspool angelegt und den Benutzer zugewiesen. Wie kann ich aber nun meine Anwendung aus dem DefaultAppPool in meinen neuenPool verschieben?
Und wirst du älter als ´ne Kuh,
musst doch lernen immerzu.
Ich würde die folgende Konfiguration vornehmen:
IIS Server Zugriff auf den UNC-Pfad Deines Entwicklungsservers:
(\Entwicklungsserver\Entwicklungsshare).
Die Zugriffsrechte auf dem Entwicklungsserver so einstellen:
Dann sollte eigentlich der Zugriff auch funktionieren.
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt