在資料庫連接字串中使用 Server.MapPath

上次更新時間 2025年4月12日

系統不再支援 Dreamweaver UltraDev,也不再主動更新 Dreamweaver UltraDev 支援中心。 而 Dreamweaver UltraDev 中可用的功能仍適用於名稱開頭為 Dreamweaver MX 的 Dreamweaver。 因此,我們正在將相關內容移至 Dreamweaver 支援中心。請參閱此技術說明的 Dreamweaver 版本:在資料庫連接字串中使用 Server.MapPath (技術說明 19065)。

MapPath 方法 (ASPServer 物件) 的目的是將用戶端瀏覽器可能使用的邏輯路徑資訊轉譯成伺服器上的實體路徑。使用者在使用 OLEDB 和 ODBC DSNless 連接字串時,經常利用這項 ASP 功能。

如果您有遠端掛載在伺服器上的檔案式資料庫,您必須知道該資料庫的完整路徑,才能使用常值資料庫連接字串。但是,有時您會想要存取這類資料庫,但無法仰賴檔案的實體路徑。若要尋找檔案的實體路徑,您可以使用 Server.MapPath 方法。其唯一參數是檔案的虛擬或相對路徑。

如果您傳遞的參數開頭是正斜線或反斜線,Server.MapPath 會假設您要對應至完整虛擬路徑的完整實體路徑。如果路徑參數的開頭沒有任何斜線,則 Server.MapPath 會假設您要的實體路徑是相對於呼叫 ASP 檔案的位置。就資料庫連接字串而言,需要使用完整實體路徑。

UltraDev 4 可在資料庫連接字串中使用 Server.MapPath。下列範例說明這類字串中可接受的語法。

  • DSNless (ADO) 連接字串
    • 標準連接字串: "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\inetpub\wwwroot\ud\asp\UltraDev.mdb"
    • MapPath 連接字串: "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/ud/asp/UltraDev.mdb") & ";"
  • OLEDB 連接字串
    • 標準連接字串: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\ud\asp\UltraDev.mdb"
    • MapPath 連接字串: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/ud/asp/UltraDev.mdb")

在應用程式伺服器與本機 (Windows) 上使用驅動程式

在 UltraDev 中定義自訂連接字串時,您可以選擇在應用程式伺服器或本機上使用驅動程式。

注意:此選項在 UltraDev 的 Macintosh 版本中無法使用。所有連線都使用應用程式伺服器。

在 Windows 版本中,使用 Server.MapPath 方法時,您必須選取「在應用程式伺服器上使用驅動程式」

使用 Server ASP 物件時,只能透過網頁和應用程式伺服器來叫用。這是選取「在應用程式伺服器上使用驅動程式」時使用的連線方法。選取「在本機上使用驅動程式」會直接透過 ODBC 連線至資料庫;不會叫用網頁伺服器以及 ASP 應用程式伺服器。

當伺服器與 UltraDev 位於同一部機器上時 (例如使用個人網頁伺服器時),可以選取「在應用程式伺服器上使用驅動程式」。

注意:在 UltraDev 4 中,已不再有「執行階段」和「設計階段」連線。如果您必須為執行階段連線使用 Server.MapPath,相同的連線字串也必須套用至您的設計環境。

下列影像顯示在 UltraDev 中使用 Server.MapPath 和上列其中一個連線字串範例來定義自訂連線字串的對話框。

在 UltraDev 中用來定義自訂連線字串的對話框