Systom: Server.MapPath(), ASP 0172 (0x80004005)

Hallo Leute,

ich beschäftige mich noch nicht so lange mit ASP. Habe auch das Forum schon durchsucht und habe keine richtige Lösung für das Problem gefunden.

Voraussetzungen sind:

WinXP
IIS 5.1

Das Problem:

Fehlertyp:
Server.MapPath(), ASP 0172 (0x80004005)
Der Pfadparameter für die MapPath-Methode muss ein virtueller Pfad sein. Es wurde ein physischer Pfad angegeben.
/ordner/blabla.asp, line 382

Das Script an dieser Stelle:

'--------------------------------------------------------------------------------------------------
'Beschreibung: Liest gesamten Zeicheninhalt einer Textdatei
'Input:        textfile: Textdatei mit Pfad, relativ zum Verzeichnis
'                        in der das ASP Script liegt als String
'Rückgabe:     gesamter Zeicheninhalt der Textdatei
'--------------------------------------------------------------------------------------------------
Function readTextFile( strTextfile )
   Const ForReading = 1, ForWriting = 2, ForAppending = 8
   Dim fso, f
    Set fso = Server.CreateObject("Scripting.FileSystemObject") 'Erzeugung FileSystemObject
   Set f=fso.OpenTextFile(Server.MapPath(strTextfile), 1, False)  'öffnen der Textdatei
   Set f=fso.OpenTextFile( strTextfile, 1, False)  'öffnen der Textdatei
    If f.AtEndOfStream Then
     readTextFile = ""
    Else
   readTextFile = f.ReadAll 'Rückgabe des Zeicheninhaltes der Textdatei
    End If
    f.Close 'Schliesen Textdatei
    'Objekte terminieren
   Set f=Nothing
    Set fs=Nothing
End Function

'--------------------------------------------------------------------------------------------------

Der Pfad wird als Const angegeben:

Const NAME = "c:\inetpub\wwwroot\ordner\rights" 'Pfad zu den Dateien mit Zugriffsrechten

Was mache ich Falsch? Ich habe alle Pfadschreibweisen ausprobiert, jedoch funktioniert es nicht:

Bitte um Hilfe und Danke im Voraus

Tom

  1. Hallo,

    die Fehlermeldung besagt doch schon alles. Du mußt einen virtuellen bzw. logischen Pfad eingeben, der sich üblicherweise unterhalb Deines \inetpub\wwwroot befindet. Beispiel:

    Physischer Pfad: c:\inetpub\wwwroot\verzeichnis1
    virtueller Pfad: /verzeichnis1

    MfG
    MarkX.

    1. soweit so gut.

      Danke
      Aber jetzt versucht der Browser das script zu laden und kommt zu keinem ergebnis. Wie kann ich nun den Fehler rausfinden?

      Vielen Dank Tom

      1. Hallo,

        Danke
        Aber jetzt versucht der Browser das script zu laden und kommt zu keinem ergebnis. Wie kann ich nun den Fehler rausfinden?

        indem Du eine Fehleranalyse betreibst. Kommentiere Teile des Scripts aus und laß Dir Variablen ausgeben, die relevant sind usw.
        Dabei kann Dir nun keiner helfen. Die Mühe mußt Du Dir schon selbst machen.

        MfG
        MarkX.

      2. Aber jetzt versucht der Browser das script zu laden und kommt zu keinem ergebnis. Wie kann ich nun den Fehler rausfinden?

        der Bildschirm bleibt komplett weiß, ohne dass sich etwas tut?

        [ ] ja -> schalt das Script Blocking von Norton AV aus :-)

        würd ich mal mit 85% tippen

        Gruß, Frank