asp网站制作过程中遇到access数据库路径问题解决方案

发布者:云商网络 来源:http://www.baisoubao.cn/ 发布时间:2012-9-2 9:44:50 浏览量:

 标题有点大,如果你对内容不感兴趣或者觉得菜,还请见谅!

好,进入正题。数据库的路径很多人其实都有碰到过,当所有网页都放在同一级文件夹中时,这个不容易不出现问题,可是总是有时想进行一些分类,让网站结构更清晰一些(例如将后台管理的页网放到ADMIN子文件夹中),但总是被数据库路径的设置弄得头痛。对于初学者更是如此。
我经常会被提示数据库的路径XXX不存在等等的错误。我发现我又忘了设置正确的路径。在子文件夹中的网页中要加 “../” , 我也参考了不少ASP的代码,包括动网论坛,Z-blog等,可是,我发现,这些用的方法并没有让我发现很好,像动网论坛也是在子目录中调用数据库时,在数据库的路径前加上 “../” ,都会判定是否是子文件夹进行调用。我觉得这样不是很麻烦??

有没有不需要这么麻烦的方法,**多在文件头部份INCLUDE一个CONN.ASP(一般连接数据库的代码都是放到这个文件中,这里只是举例而已)文件就可以正常连接数据库,即使这个文件是在五六层深的子文件夹中。

其实连接数据库的原理大家都知道,就是要得到这个数据库在WEB服务器上的**路径(如: E:\www\db\abc.mdb),然后用Server.CreateObject("ADODB.Connection")方式打开它,到这里,数据库就连接成功了。

我所说的解决方案主要是“无论在哪个文件夹中(包含子文件夹)”,所获取到的数据库的**路径都是一样的。
好,请看下面的代码


  1. db = "\db\db.mdb"
  2. db = request.ServerVariables("APPL_PHYSICAL_PATH") & db
复制代码

使用request.ServerVariables("APPL_PHYSICAL_PATH") 可以得到网站在服务器上所在的根路径,这个不少人都知道,我就不细说了,其实从字面上都可以了解到,就是“应用程序的物理路径”(个人理解)。这样就得到了站点的在服务器上的根路径,加上数据库的相对路径,OK,数据库在服务器上的**路径出来了,到时候,不管这个连接数据库的代码放在该站点的任何一个文件夹中,连接数据库都是正常的,而不需要设置什么“../../”。
不过,在大家使用这个request.ServerVariables("APPL_PHYSICAL_PATH") 的时候,我要补充一句,在某些情况下,它不支持中文,如果路径中含有中文,它可能会出错,所包含的中文会变成乱码。这种现象是在WINXP当服务器出现过,现在用WIN2003测试,也没有问题。如果出现这种现象的话,可以用server.MapPath("/")代替。它们所不同的是前者返回的路径在**后一位包含 “\”,而后者返回的路径**后一位不包含 “\”。
**此,上面的代码,我就改成了:

  1. db = "\db\db.mdb"
  2. db = server.MapPath("/")& db
复制代码

后面连接数据库时,就不需要再使用server.MapPath了,因为,这时候已经得到数据库的**路径了。我现在的网站不管是前台显示,还是后台管理,连接的都是同一个数据库,但CONN.ASP中连接数据库的路径却不用改变。**多只是将
改成了或者而已。

如果以上内容中描述错误,还请提出。
(转载请注明转自:http://www.baisoubao.cn 衡水网站建设 谢谢!)
上一篇:衡水做网站,衡水低价做网站,衡水底价做网站好吗?
下一篇:手机站的百度优化技巧汇总