本日志标题:Dreamweaver MX 动态建站数据库路径的使用方法        [2005-4-19]

Dreamweaver MX 动态建站数据库路径的使用方法中

一,不推荐使用Server.Mappath(相对文档路径地址的数据库文件)

虽然具有平台移植性,但对于不同层次,不同深度下的引用该数据库的文件,将不能完整地保证数据库路径的正确性。

举个例子:

1,数据库文件cnbruce.mdb,所在文件夹database(可http访问)
2,DW自动生成的连接数据库文件conn.asp,所在文件夹Connections
3,如果在DW中测试连接路径成功,则必须输入地址为Server.Mappath("../database/cnbruce.mdb")
但随后引用该数据库连接的文件必须保存在某文件夹中,该文件夹和database是同等的

即:


- database
- cnbruce.mdb
- Connections
- conn.asp
- 某文件夹
- x1.asp



这种结构才能使用正常。但这就必须要求站点中,所有引用了连接数据库文件的文件,必须存放在站点的一级目录下。显然这是不合理的,比如这样的结构。



- x2.asp
- database
- cnbruce.mdb
- Connections
- conn.asp
- 某文件夹
- 某子文件夹
- x3.asp



则x2.asp和x3.asp均不能正常显示。

原理分析:无论conn.asp放在哪里,无论conn.asp的内容如何,最后都是取决于引用了conn.asp的文件的文件位置和数据库的位置关系。具体解释: http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=423

解决办法:在conn.asp中进行判断当前路径,根据不同级别值给出不同链接路径……对于初学者来说,麻烦。
第二种解决方法就是采用相对根目录法,但也是不推荐使用。

二,不推荐使用Server.Mappath(相对根目录路径的数据库文件)

使用这种方法,首先需要将IIS默认站点调整到当前DW站点所在文件夹(XP系统),或建立一个站点指向该文件夹(2K等系统)。

反正一句话,就是当你输入 http://localhost/ 时,显示的内容已不是默认的IIS首页,而是你所设置的DW站点文件夹中的默认首页文档。

那么在设置了该IIS站点之后

1,数据库文件cnbruce.mdb,所在文件夹database(可http访问)
2,DW自动生成的连接数据库文件conn.asp,所在文件夹Connections
3,如果在DW中测试连接路径成功,则输入地址为Server.Mappath("/database/cnbruce.mdb")

/database/cnbruce.mdb 该方法就是相对根目录,高屋建瓴式的进行数据库路径的获得,无论哪个层次的,哪个目录下的站点文档均能正常显示。

但依然不推荐!原因如下:

在本地你可以自行修改IIS的站点,当上传到服务器或虚拟主机时,麻烦就来了。

1,如果你的虚拟主机服务商技术不过关,当在解析你网站根目录的时,不是指向到你的站点文件夹,而是指向服务器系统盘下的wwwroot文件夹。于是路径肯定错误。
2,如果你需要上传的并不是你的站点根目录,很显然,路径也肯定会发生解析错误。

所以,不推荐·!那么,该怎么办?

三,推荐使用(本地绝对物理路径的数据库文件)

很简单,这个数据库在本地你总会知道它所在的位置吧。在DW中创建时就直接使用该绝对物理路径地址。

OK,来上传了。当然不可能那么巧:上传到服务器上的数据库物理路径地址和本地数据库物理路径地址是一样的-__-!

所以,现在只需要获得上传到服务器空间上的数据库文件,在服务器上是处于什么物理地址就行了。

怎么获得?

1,建立一个path.asp文件,内容很简单


<%=server.mappath("cnbruce.mdb")%>


2,该文件和数据库文件cnbruce.mdb,共一文件夹,捆绑式一同上传。
3,在URL地址栏查看path.asp,得到cnbruce.mdb在服务器上的物理地址,拷贝该路径。
4,将本地的conn.asp中的物理路径,替换后再上传。一切OK!

特点:
1,虽然平台移植不很强,但全面支持所有站点中文件连接,况且也就是本地和服务器间两者间的移植。
2,防止%5c暴库间接获得数据库地址。
3,现在越来越多的空间建议将数据库文件放放到非Web访问目录中(当然具体的路径获得又是另外一种方法了),这就必须要求用户使用物理路径了。

所以,我的观点是:

Dreamweaver MX 动态建站数据库路径的使用方法:

本地使用物理地址,上传服务器依然使用物理地址。


[Edit on 2005-5-18 20:45:16 By cnbruce]

在百度搜索完整的Dreamweaver MX 动态建站数据库路径的使用方法内容,或者用Google搜索相关的更多内容

By [cnbruce] at 2:09:10 | 评论 [12] | 浏览 [23236] | TrackBack| 返回顶部

About Comments
这样虽然麻烦些,但是不会产生让人头疼的路径问题,值得借鉴。
By [GoldanStone] at 2005-4-19 8:39:06
这样一来带来了通用性的问题啊
By [含笑修行] at 2005-4-19 8:58:59
我想请教一下,在DW代码页里的汉字怎么都是乱码,这个问题怎么解决呢?
By [love] at 2005-4-19 9:52:48
http://www.blueidea.com/tech/web/2004/2276.asp
By [bi] at 2005-4-19 12:03:15
我就用了这里的第二种方法,现在很头痛啊,除了前台的文件可以显示得到,后台管理的文件都连接不到数据库啊,站主有没方法帮我解决一下啊
By [灵感空荡荡] at 2005-4-19 16:41:36
这个问题我以前苦恼了很久啊,现在我一直用绝对路径,没错,这是最好的解决方案了。
By [ziyue] at 2005-4-19 20:08:02
我一直使用物理地址方法连接
因为我对Server.Mappath()理解不透彻
没成想还是好办法...
^_^
By [crcw] at 2005-4-20 15:25:31
我是在使用要调用conn.asp的文件中做个标记:比如page=3
然后在conn.asp 有几条Server.Mappath的语句,用SELECT CASE 来选择的。
By [tension] at 2005-4-30 18:17:29
1、您不是说要出书吗?何时发行?
2、能不能讲一讲数据库的分类问题!比如象您网站的分类结构。我想做一个题库,不知道怎么分类显示,望赐教。
By [lihua] at 2005-5-2 9:02:47
搜索“无限分类”,书期待中……
By [bruce] at 2005-5-7 0:10:21


Post a Comment
呢称: 验证码: 
禁止笑脸转换 禁止UBB | 缩放输入框:6 5 | [Ctrl+Enter提交](1000个字符限制)