Verwende Server.MapPath in Datenbankverbindungszeichenfolgen

Zuletzt aktualisiert am 12. April 2025

Dreamweaver UltraDev wird nicht mehr unterstützt und das Dreamweaver UltraDev-Support Center wird nicht mehr aktiv aktualisiert. Die in Dreamweaver UltraDev verfügbaren Funktionen sind auch in Dreamweaver verfügbar, beginnend mit Dreamweaver MX. Dementsprechend verschieben wir die entsprechenden Inhalte in das Dreamweaver Support Center.Siehe die Dreamweaver-Version dieser Technote: Server.MapPath in Datenbankverbindungszeichenfolgen verwenden (TechNote 19065).

Der Zweck der MapPath-Methode des ASPServer-Objekts besteht darin, die logischen Pfadinformationen, die möglicherweise von einem Client-Browser verwendet werden, in einen physischen Pfad auf dem Server zu übersetzen.Anwender nutzen häufig diese ASP-Funktion, wenn sie OLEDB- und ODBC DSNless-Verbindungszeichenfolgen verwenden.

Wenn du eine dateibasierte Datenbank remote auf deinem Server gemountet hast, musst du den vollständigen Pfad zu dieser Datenbank kennen, um eine literale Datenbankverbindungszeichenfolge zu verwenden.Es gibt jedoch Zeiten, in denen du auf eine solche Datenbank zugreifen möchtest, aber dich nicht auf den physischen Pfad der Datei verlassen kannst.Um den physischen Pfad einer Datei zu finden, kannst du die Server.MapPath-Methode verwenden.Ihr einziger Parameter ist der virtuelle oder relative Pfad der Datei.

Wenn der Parameter, den du übergibst, mit einem Schrägstrich oder einem Backslash beginnt, nimmt Server.MapPath an, dass du den vollständigen physischen Pfad möchtest, der dem vollständigen virtuellen Pfad entspricht.Wenn der Pfad-Parameter nicht mit einem Schrägstrich beginnt, nimmt Server.MapPath an, dass du den physischen Pfad in Bezug auf den Speicherort der aufrufenden ASP-Datei möchtest.Für Datenbankverbindungszeichenfolgen ist der vollständige physische Pfad erforderlich.

UltraDev 4 bietet die Möglichkeit, Server.MapPath in Datenbankverbindungszeichenfolgen zu verwenden.Die folgenden Beispiele veranschaulichen akzeptable Syntax in solchen Zeichenfolgen.

  • DSNless (ADO) Verbindungszeichenfolgen
    • Standard-Verbindungszeichenfolge: "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\inetpub\wwwroot\ud\asp\UltraDev.mdb"
    • MapPath-Verbindungszeichenfolge: "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/ud/asp/UltraDev.mdb") & ";"
  • OLEDB-Verbindungszeichenfolgen
    • Standard-Verbindungszeichenfolge: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\ud\asp\UltraDev.mdb"
    • MapPath-Verbindungszeichenfolge: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/ud/asp/UltraDev.mdb")

Treiber auf Anwendungsserver versus lokalem Computer verwenden (Windows)

Wenn du eine benutzerdefinierte Verbindungszeichenfolge in UltraDev definierst, hast du die Möglichkeit, einen Treiber auf dem Anwendungsserver oder auf dem lokalen Computer zu verwenden.

Hinweis: Diese Option ist in der Macintosh-Version von UltraDev nicht verfügbar.Alle Verbindungen verwenden den Anwendungsserver.

In der Windows-Version musst du Using Driver on Application Server auswählen, wenn du den Server.MapPath-Ansatz verwendest.

Bei der Verwendung des Server ASP-Objekts kann es nur über einen Web- und Anwendungsserver aufgerufen werden.Dies ist die Verbindungsmethode, die verwendet wird, wenn Using Driver on Application Server ausgewählt ist.Die Auswahl von Using Driver on Local Machine stellt eine direkte Verbindung zur Datenbank über ODBC her; der Webserver und damit der ASP-Anwendungsserver werden nicht aufgerufen.

Es ist akzeptabel, Using Driver on Application Server auszuwählen, wenn sich der Server auf derselben Maschine wie UltraDev befindet, wie bei der Verwendung des Personal Web Servers.

Hinweis: In UltraDev 4 gibt es keine „Run Time"- und „Design Time"-Verbindung mehr.Falls du Server.MapPath für deine Run Time-Verbindung verwenden musst, muss dieselbe Verbindungszeichenfolge auch für deine Designumgebung gelten.

Das folgende Bild zeigt das Dialogfeld, das zur Definition einer Custom Connection String in UltraDev mit Server.MapPath und einem der oben angezeigten Verbindungszeichenfolgen-Beispiele verwendet wird.

Dialogfeld zur Definition einer benutzerdefinierten Verbindungszeichenfolge in UltraDev