为简单起见,先把方法写上,看明白的人就不用往下看了,如果不懂的再网下看。
方法:
建立一个test.asp文件,放在“root”目录下,内容为
<%=server.MapPath("index.asp")%>
从而获得index.asp文件的实际路径,例如文件显示为“d:\wwwroot\personal\michaellee23\root\index.asp”,那么与我空间里的“root”平级的“databases”文件夹的实际路径就是“d:\wwwroot\personal\michaellee23\”,然后在conn.asp文件里数据库的位置就可以写成“d:\wwwroot\personal\michaellee23\databases\database.mdb”。这样就比较方便使用了,只需要每次移植的时候重新改一下这个数据库文件的实际路径就可以了。
刚开始学习asp的朋友,一般会跟着教程将access数据库文件放在本机iis设置的站点里,如果自己租了个虚拟空间后,一般mdb数据库文件的存放位置是由空间商设定的,当然自己也可以放在空间商提供给自己的页面空间中,但不太安全。如果放在空间商提供的存放mdb文件的文件夹里,会安全一点。
通常在学习asp的时候,会建立一个数据库连接文件,例如“conn.asp”,然后在调用数据库的页面里用“<!--#include virtual="conn.asp" -->”把数据库连接文件包进来就可以使用了,也可以用“<!--#include file="conn.asp" -->”,两个的不同之处我不记得了,反正是有点区别,主要是用file的话,文件路径不能以斜杠或反斜杠开头,而用“include”的话就可以,当用“/”开头的时候就相当于从网站的根目录开始。
例如:
网站域名为“www.michaellee23.con”,链接路径是写的是“/index.html”,那么点击链接路径跳转到的地址就是“http://www.michaellee23.com/index.html”,链接地址为“/xxx/xxx.html”的时候,是一个道理。
通常我个人在做链接文件的时候会把conn文件放在一个名为“connect”文件夹里,这样在任何一个位置需要包含conn.asp文件的文件里都可以写成“<!--#include virtual="connect/conn.asp" -->”,这样省下来回写相对路径的麻烦。
两种写调用conn.asp文件的方法好象在服务器的资源上使用的不一样,具体的我也不太清楚。
然后我在conn.asp文件里会用“server.mappath("数据库的路径,“/”开头,例如“/database/database.mdb”")”,但这样放在租的虚拟空间里就管用了……
例如:空间商提供的空间里有两个文件夹,“root”和“databases”,网站的根目录是从“root”文件夹下开始的,而存放mdb文件的位置在“databases”文件夹下,所以在conn.asp文件里写数据库文件路径的时候就不能用server.mappath方法而且以“/”开头来写了,这样如果调用页面不在同一级的话就会出问题。有的可以找到有的不能找到。
比较好的解决办法就是在conn.asp文件里的mdb数据库文件的路径用虚拟空间里的实际路径。
方法:
建立一个test.asp文件,放在“root”目录下,内容为
<%=server.MapPath("index.asp")%>
从而获得index.asp文件的实际路径,例如文件显示为“d:\wwwroot\personal\michaellee23\root\index.asp”,那么与我空间里的“root”平级的“databases”文件夹的实际路径就是“d:\wwwroot\personal\michaellee23\”,然后在conn.asp文件里数据库的位置就可以写成“d:\wwwroot\personal\michaellee23\databases\database.mdb”。这样就比较方便使用了,只需要每次移植的时候重新改一下这个数据库文件的实际路径就可以了。
当然,好象还有其他的方法,大家可以去网上搜索一下“数据库 位置”,好象要判断什么的,我没仔细看,那样的话,应该连移植时候都不用改数据库路径了,不过代码可能比较长一点。就是因为太长所以没看+_+!