主题:  上传问题请教

零度沸腾

职务:普通成员
等级:1
金币:1.0
发贴:262
#12004/3/26 14:36:07
我终于把我的网站搞定了,但是在上传的时候遇到了一个问题,就是数据库链接的问题
我用了下面的代码获得了我的数据库在对方网站上的位置,但是,我在修改数据库链接路径时就发生错误,因为我的电脑本机根本就没有那个路径,而他Dreamweave就是认准了,提示找不到任何表,我该怎么办!
<%
mm=server.mappath("back.mdb")
response.write mm
%>
还有我也使用过OLEDB链接方式,但是从一开始就说不符合字符串的规格,大侠们,救救我吧!



布鲁斯狼

职务:普通成员
等级:2
金币:11.0
发贴:377
#22004/3/27 10:38:25
server.mappath就是这样的:没有该路径也会显示结果。



布鲁斯狼

职务:普通成员
等级:2
金币:11.0
发贴:377
#32004/3/27 10:40:53
很多的朋友一而再,再而三的在Server.Mappath上卡壳,cnbruce也是一遍两遍地重复,还是不能全部解决,所以通过下面的举例,希望更多的朋友能恍然大悟,透彻明白过来。

先看图:



1,首先在本机E盘下面建立red文件夹,夹子内继续建立conn.asp文件,文件内容如下:
<%=Server.Mappath("database/cnbruce.mdb")%>
<%=Server.Mappath("/database/cnbruce.mdb")%>
<%=Server.Mappath("../database/cnbruce.mdb")%>

主要调试三种路径最后显示的结果。

2,在red文件夹下面建立文件夹database,该夹子内部存放cnbruce.mdb文件。
所以现在可以很肯定的知道数据库文件的绝对路径是:E:/red/database/cnbruce.mdb
以上应该没有问题吧,很明白的继续往下看,不明白的赶快学下windows操作系统 -_-!

3,为了进行比较对照,继续在red文件夹下面建立blue文件夹,该夹子内部存放同样的conn.asp文件
<%=Server.Mappath("database/cnbruce.mdb")%>
<%=Server.Mappath("/database/cnbruce.mdb")%>
<%=Server.Mappath("../database/cnbruce.mdb")%>


4,当然很重要的就是对red文件夹进行虚拟目录的设定。方法是在red文件夹上右键鼠标,选择“共享...”,弹出窗口中继续选择“Web共享”标签,选择“共享这个文件夹”,别名设为“red”。最后“确定”。



5,OK,现在就可以来调试两个conn.asp文件了。

先看red文件夹下面的,输入的URL应该是:http://localhost/red/conn.asp



观看结果可以知道其中只有一个正确,那就是
<%=Server.Mappath("database/cnbruce.mdb")%>

6,再来看red文件夹下的blue文件夹内的,URL:http://localhost/red/blue/conn.asp



观察结果,仍然有一个正确,那就是
<%=Server.Mappath("../database/cnbruce.mdb")%>

7,来总结下:为什么两次显示正确路径的不是同一代码呢?
很显然是相对路径的缘故。red文件夹下的conn.asp文件和database文件夹是兄弟关系,所以要找到cnbruce.mdb,就可以直接database/cnbruce.mdb

而blue文件夹下的conn.asp和database文件夹是侄叔关系,要找cnbruce.mdb,当然是../database/cnbruce.mdb,其中../就是到上一层。

8,那再看<%=Server.Mappath("/database/cnbruce.mdb")%>两次显示的都是一样的效果,都指向到c:\inetpub\wwwroot\下面了,那就是因为在"database"前面添加了"/",表示到达根目录,而本地的IIS虚拟根目录就是c:\inetpub\wwwroot\,这在默认Web站点属性里面有。



9,注意,再看!一直都是在本地的,那上传到网络上有是怎么样呢?

首先,要正确清醒地知道conn.asp连接文件和*.mdb数据库文件的地址关系
接着,选择正确的Server.Mappath转换方法

建议,最好不采用"/"路径。因为这涉及到虚拟主机和非虚拟主机的问题。

所谓虚拟主机,比如我本人的站点,其虚拟的根目录就是网站本身的根目录,不存在转向到c:\inetpub\wwwroot\的问题。

可以调试
www.cnbruce.com/red/conn.asp
www.cnbruce.com/red/blue/conn.asp

可以看出:采用"/"的时候的路径显示就是本站的根地址。

而象6to23之类就不一样了。

asp3.6to23.com/zjfmeteor/red/conn.asp
asp3.6to23.com/zjfmeteor/red/blue/conn.asp

因为域名以及虚拟地址的分配都出来的zjfmeteor,所以采用"/"时就非站点根,是站点根再加自己的注册名。

综上,一般最好不采用"/",当采用另两种时就要注意conn.asp文件和数据库文件的相对路径了。



零度沸腾

职务:普通成员
等级:1
金币:1.0
发贴:262
#42004/3/28 0:24:20
老大啊,我测试过了,按照您的办法。我先把我要得到的数据库复制到Databasic里面去,但是得到的数据库我可不认识,文件名和我的完全不同,怎么回事啊?