上页的教程中我们已经通过d:\webdocs\webgenius.co.uk\yourdatabase.mdb建立一个DSNLess connection链接到数据库文件。现在设想发生了一件非常意外的事情:主机服务商需要做一些特殊的维护工作,并将的站点文件暂时移到另外一个硬盘如E盘中,这时原先设置的数据库文件路径d:\webdocs\webgenius.co.uk\yourdatabase.mdb就不能正常工作,因为此时数据库的正确位置应该是:e:\webdocs\webgenius.co.uk\yourdatabase.mdb!
通过Server.MapPath命令可以检测数据库文件的位置,不会因为站点文件夹的位置改变而变化。
●使用这个方法之前需要注意的几个问题:
在custom connection string设置面板中,如果使用Server.MapPath,必须注意单选框要选择Using Driver on Application Server 。 链接字符串不能有断行。 注意引号问题. 下面列举一些使用Server.MapPath 的例子:
DSNLess Connection Strings :
标准的链接字符串: "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\inetpub\wwwroot\your_site\data\music1.mdb"
使用Server.MapPath后如下: "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/your_site/data/music1.mdb") & ";"
OLEDB Connection Strings :
标准的链接字符串: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\your_site\data\music1.mdb"
使用Server.MapPath后如下: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/your_site/data/music1.mdb")
IN PRACTICE
1/ 打开 c1_add.asp.
2/ Modify > Connections. 点击按钮〖New 〗选择Custom Connection String (fig 1).
fig1
3/ 弹出“Custom Connection String”设置窗口 (fig 2).
fig 2
4/ 确认单选按钮定位到“Using Driver On Application Server” (fig 3). 在Connection Name文本框中输入:con1.asp
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/c1/music1.mdb")
fig 3
5/如果你点击Test 按钮,会弹出提示信息:“connection was made successfully”. 点击OK 按钮
6/打开 connection目录下的con1.asp 代码如下:
<% ' FileName="Connection_ado_conn_string.htm" ' Type="ADO" ' HTTP="true" ' Catalog="" ' Schema="" MM_con1_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/c1/music1.mdb") %>
|