9 ASP编程入门进阶(十二):A... :篇一上 | 下一篇: ASP编程入门进阶(十一):C... : |
|
很多的朋友一而再,再而三的在Server.Mappath上卡壳,cnbruce也是一遍两遍地重复,还是不能全部解决,所以通过下面的举例,希望更多的朋友能恍然大悟,透彻明白过来。 先看图: ![]() 1,首先在本机E盘下面建立red文件夹,夹子内继续建立conn.asp文件,文件内容如下:
主要调试三种路径最后显示的结果。 2,在red文件夹下面建立文件夹database,该夹子内部存放cnbruce.mdb文件。 所以现在可以很肯定的知道数据库文件的绝对路径是:E:/red/database/cnbruce.mdb 以上应该没有问题吧,很明白的继续往下看,不明白的赶快学下windows操作系统 -_-! 3,为了进行比较对照,继续在red文件夹下面建立blue文件夹,该夹子内部存放同样的conn.asp文件
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\的问题。 可以调试 http://www.cnbruce.com/red/conn.asp http://www.cnbruce.com/red/blue/conn.asp 可以看出:采用"/"的时候的路径显示就是本站的根地址。 10,一定要注意! 万里长征已经到最后了,说什么也要支持住~! 我们虽然知道了conn.asp文件内容的写法,但在我们引用的时候应该要注意include包含文件的实质:被包含文件是在包含文件中执行显示的。 所以,无论conn.asp放在哪里,无论conn.asp的内容如何,最后都是取决于包含该文件的文件位置和数据库的位置关系。 [Edit on 2004-4-25 16:21:59 By cnbruce] 在百度搜索完整的有关Server.Mappath详细接触内容,或者用Google搜索相关的更多内容 |
By [cnbruce] at 10:28:27 | 评论 [54] | 浏览 [89370] | TrackBack| 返回顶部 |
9 ASP编程入门进阶(十二):A... :篇一上 | 下一篇: ASP编程入门进阶(十一):C... : |
![]() |
GOOD![]() |
By [xabre] at 2004-4-23 10:56:10 |
若把“主目录”设到E:盘 我想就不会出问题了吧 |
By [buck12] at 2004-4-25 10:48:07 |
Server.Mappath需要讲的这么复杂么?没必要 |
By [igonnawin] at 2004-5-26 13:39:01 |
Very Good!![]() |
By [thinker] at 2004-6-6 20:21:35 |
very good |
By [good] at 2004-6-17 22:24:02 |
好人啊! |
By [hacker0722] at 2004-8-2 14:38:55 |
cnbruce.那么你有没有考虑到,在iis6的情况下,是不支持(../)这样的父路径关系啊!那该怎么处理呢? |
By [dnaliang] at 2004-8-12 10:02:50 |
不是不支持,是您没有开启IIS的../ 父路径。方法是: IIS6==>站点属性==>主目录==>配置==>选项==>启用父路径 |
By [cnbruce] at 2004-8-12 10:12:46 |
o...8好意思,明白了.谢谢! |
By [dnaliang] at 2004-8-12 10:20:31 |
你好!看了你的教程收益很大。想请教个问题:sql server 2000如何上传?我怎么也处理不好!还有分页程序,直接用在显示记录的时候我可以处理好,但是在搜索结果的页面上却不能分页。烦请在百忙之中给个解决的方案。谢谢了! |
By [mimi9919] at 2004-10-10 10:49:40 |
sql server 2000不需要象ACCESS那样上传,注册到远程服务器,直接进行导入功能。关于搜索的问题,你看我的这个是不是? http://www.cnbruce.com/database/ 想要的话留个EMAIL,我把文件给你参考下:) |
By [cnbruce] at 2004-10-10 14:20:27 |
感谢不尽了,我的Email:mimi9919@sohu.com 还有sql server 2000在做网站的时候是安装“客户端的工具”吗? 如何注册到远程服务器呢?我很菜的,请帮忙解决一下。 |
By [mimi9919] at 2004-10-13 9:30:43 |
我的网站怎么登录后一段时间不操作,就可以自动退出呢?麻你帮个忙。 网址:http://www.aotubang.net |
By [mimi9919] at 2004-11-5 9:06:57 |
一般是使用asa的session_onend事件把 |
By [Aether] at 2004-11-5 17:23:50 |
楼主说的那些实在是好啊。可是我指定到数据库的位置正确了,注:(观察N遍,确定是正确的。),但是在调试的时候为什么还是显示出错的状态呀,好无奈呀。。。 错误类型: ADODB.Recordset (0x800A0BB9) 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。 /eculs/index.asp, 第 5 行 |
By [无奈啊] at 2004-11-23 11:03:59 |
ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误) |
By [cn-bruce] at 2004-11-23 11:28:31 |
404错.我做的留言簿,数据库测试通过,不能显示 |
By [小鬼] at 2005-4-28 20:49:13 |
![]() ![]() ![]() |
By [11] at 2005-5-14 11:35:34 |
![]() ![]() |
By [没事干] at 2005-5-22 15:24:04 |
错误类型: ADODB.Recordset (0x800A0BB9) /sanzhen/moban/1/gg.asp, 第 49 行 |
By [helpme] at 2005-5-28 11:17:24 |
各位大虾快帮助我一下, 这是什么错误啊?????晕倒 错误类型: ADODB.Recordset (0x800A0BB9) /sanzhen/moban/1/gg.asp, 第 49 行 |
By [helpme] at 2005-5-28 11:19:07 |
请问对FLASH连接数据库有没有知道的?? |
By [鬼] at 2005-6-16 13:17:56 |
![]() ![]() ![]() |
By [鬼] at 2005-6-16 13:18:47 |
11 |
By [vigour_chen] at 2005-8-18 23:45:05 |
有高手在吗? 为什么我和上面一样的调试结果确不同呢 我的结果是::D:\red\blue\database\cnbruce.mdbC:\ASP.net\database\cnbruce.mdbD:\red\database\cnbruce.mdb 这个是为什么? ![]() ![]() ![]() |
By [32] at 2005-8-29 21:41:07 |
用DW做好的网站在本地和局域网都能写入数据一切正常,但传到远程上就只能显示页面了而不能写入数据了,提示HTTP500内部服务器出错,服务器应该没有问题,我估计是不是数据库的连接出了问题,难道用DW做好了上传时还要改动连接吗?那位大哥能帮我吗?火急呀,多谢了 |
By [panyu] at 2005-10-31 19:52:36 |
sub command1_click if x?12 then y=2*5*x end if end sub |
By [fang] at 2005-11-25 19:13:57 |
请各位朋友将问题发到论坛 http://bbs.dw8.cn [Edit on 2005-12-19 15:50:33 By cnbruce] |
By [bruce] at 2005-12-19 15:47:16 |
恍然大悟! |
By [anabas] at 2006-2-22 16:50:20 |
![]() |
By [木夕] at 2006-5-19 16:33:21 |
非常感谢!![]() |
By [Track] at 2006-5-22 16:59:20 |
我开始晕了~~`这叼网吧 连E:盘也不给进!我草 |
By [woyun] at 2006-6-8 1:25:44 |
我总是不明白上传会出现这样的问题 Microsoft JScript 运行时错误 错误 '800a1391' 'server' 未定义 /Connections/conn.asp,行 8 自己机子上运行没问题 |
By [andyao] at 2006-8-11 9:40:42 |
![]() |
By [single5210] at 2006-9-11 22:03:22 |
谁可以帮忙解决一下上面的问题呀! |
By [165115180] at 2006-10-6 12:06:08 |
ding |
By [sadf] at 2006-11-10 20:37:47 |
你好,我的path.asp文件只写了<%=server.mappath("lmg835496.mdb"![]() 'server' 未定义 /path.asp,行 2 请问是什么原因啊?谢谢 |
By [lmg8354cn] at 2006-11-20 1:56:09 |
我在其它页面中的是这样包含conn.asp, <!--#include file="../Connections/conn.asp" -->请问好心人帮帮我这到底要怎么改.. |
By [英儿] at 2007-2-25 21:45:03 |
![]() ![]() |
By [gdgd] at 2007-3-8 8:26:48 |
讲得很明白啊,佩服佩服,多谢了 |
By [rabbitli] at 2007-4-11 9:42:58 |
一万个谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢……把困扰了我几天几夜的问题一下子解决了!![]() |
By [honian] at 2007-4-15 22:18:56 |
![]() |
By [on_friday] at 2007-11-12 11:33:35 |
楼主,有没有其他的更加简单的直接dw里面设置的,我用dw连接数据库的时候全部都是绝对路径,弄得我花了几天的时间都搞不定,楼主可以给点建议吗?谢谢 |
By [t仔] at 2011-1-2 13:08:34 |