Dreamweaver UltraDev 不再受到支持,并且 Dreamweaver UltraDev 支持中心也将不再主动进行更新。 Dreamweaver UltraDev 提供的功能可用于 Dreamweaver MX 及更高版本。 因此,我们正在将相关内容移至 Dreamweaver 支持中心。请参阅此技术说明的 Dreamweaver 版本:在数据库连接字符串中使用 Server.MapPath(技术说明 19065)。
|
|
ASPServer 对象的 MapPath 方法的目的是将客户端浏览器可能使用的逻辑路径信息转换为服务器上的物理路径。用户在使用 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 对象时,只能通过 Web 和应用程序服务器调用。这是选择"在应用程序服务器上使用驱动程序"时使用的连接方法。选择"在本地计算机上使用驱动程序"将通过 ODBC 直接连接到数据库;不会调用 Web 服务器和 ASP 应用程序服务器。
当服务器与 UltraDev 位于同一台计算机上时(如使用个人 Web 服务器时),可以选择"在应用程序服务器上使用驱动程序"。
注意:在 UltraDev 4 中,不再有"运行时"和"设计时"连接。如果您必须为运行时连接使用Server.MapPath,则相同的连接字符串也必须适用于您的设计环境。
下图展示了在 UltraDev 中使用 Server.MapPath 和上述连接字符串示例之一定义自定义连接字符串的对话框。