关于一个web应用公用一个conn.asp文件的问题
我的asp程序比较庞大,所以把不同模块的程序放到了一个子文件夹中.如下
webapp(虚拟路径)
|_conn.asp
|_bb.asp
|_文件夹1
| |_aa.asp
|
|_文件夹2
|
|_db.mdb
我想在aa.asp中使用conn.asp文件来创佳连接对象,而在bb.asp中也可以用 conn文件该怎么写
我的asp程序比较庞大,所以把不同模块的程序放到了一个子文件夹中.如下
webapp(虚拟路径)
|_conn.asp
|_bb.asp
|_文件夹1
| |_aa.asp
|
|_文件夹2
|
|_db.mdb
我想在aa.asp中使用conn.asp文件来创佳连接对象,而在bb.asp中也可以用 conn文件该怎么写
在 conn.asp 里的库路径直接写死, 不要用 server.mappath() 转换. 而直接写成 d:\abc\def\db.mdb 方式
aa.asp:
<!--#include file="..\conn.asp"-->
bb.asp:
<!--#include file="conn.asp"-->
建议做两个文件,用相对路径的话移植性也会好多
同意,写死就可以了。
dbpath=server.mappath("/db.mdb")
webapp(虚拟路径)
|_conn.asp
|_bb.asp
|_News
| |_aa.asp
|
|_文件夹2
|
|_db.mdb
有没有方法在aa.asp中获取当前相对路径 "/News"
写死路径是不错的办法
写死路径不是好的办法
server.mappath("/path/db1.mdb")
写死路径是能实现,每次移动程序都要改动conn.asp.增添了麻烦
对,写死不利于维护。。。同意 ygjwjj(塔克拉玛干---胡杨林) 的俩种写法,我都是这么做的。
MapPath
MapPath 方法将相对路径转化为服务器上的物理路径
语法
Server.MapPath( Path )
参数
Path
相对路径。这个路径是以"/"或"\"开头的路径,如果这个路径中没有"\",那么MapPath方法就会返回以当前目录为基础的路径。
问题解决,原来只要在前面加上个"/"就ok了,没我想的那么复杂.
哈哈
在conn.asp文件中的所有路径:
你只要用绝对路径就可以了
aa.asp:
<!--#include file="..\conn.asp"-->
bb.asp:
<!--#include file="conn.asp"-->
这样行吗
这种应该是比较基础的
<!--#include file="..\conn.asp"-->
<!--#include file="conn.asp"-->
用 server.mappath() 有它的毛病, 比如说你在子文件夹里的文件里调用 与在父文件夹里的文件调用这个 conn.asp 所产生的结果是不相同的. 因为mappath()的起始点不同, 从而会造成不同的文件夹深度里的文件调用而产生出错. 所以我建议直接写死, 你每次迁移你的程序只需要修改这么一个 conn.asp 代价是非常非常小的.
另外, 你是做网站开发而非默认网站下的虚拟目录开发的话, 可以采用直接引用虚拟根目录的方式
连数据库,你用odbc不就行了?
梅大哥就是不一样,一语惊醒梦中人,我一前用server.mappath()时就产生过您所说的困惑!
建议写死。好处多多。自动探知目录和写入比较容易实现。不存在不容易管理问题。写个install.asp即可
写死得了,根据你说的,估计写死代码量比你写成其他少
都用绝对路径
server.mappath("/db.mdb")
写死吧
以后改起来方便些