asp关于网站虚拟目录的一些心得
来源:互联网 发布:悠悠互娱网络电玩城 编辑:程序博客网 时间:2024/06/05 02:09
在用asp连接数据库时(假设我们网站的数据库文件为data/#systemdata.mdb)
很多时候我们都是编写一个conn.asp的文件
然后在需要操作数据库的地方,就把该文件包含进来<!-- #include file="conn.asp" -->
conn.asp文件内容如下:
<%
on error resume next
dim database
dim path
dim conn
dim constr
database = "data/#systemdata.mdb"
path = server.mappath(database)
constr = "driver={microsoft access driver (*.mdb)};dbq="&path
set conn = server.createObject("adodb.connection")
conn.open constr
if err.number<>0 then
response.write("error number:"&err.number)
response.write("error description:"&err.description)
response.end()
end if
%>
然后在需要操作数据库的文件中包含该文件
<!-- #include file="conn.asp" -->
在此,如果包含conn.asp的文件和conn.asp文件在同一个目录下,系统将不会出现错误;
否则,系统将给与连接数据库失败的错误提示。
至此问题提出:如何解决网站不同目录下数据库连接问题
方案1:
在网站不同目录下制定一个特定的conn.asp文件
比如网站目录manage文件夹下面制作一个conn.asp文件
<%
on error resume next
dim database
dim path
dim conn
dim constr
'注意此处数据库路径与上面的conn.asp路径的区别
database = "../data/#systemdata.mdb"
path = server.mappath(database)
constr = "driver={microsoft access driver (*.mdb)};dbq="&path
set conn = server.createObject("adodb.connection")
conn.open constr
if err.number<>0 then
response.write("error number:"&err.number)
response.write("error description:"&err.description)
response.end()
end if
%>
其他目录下的conn.asp制作类似,只要定义正确的database的路径即可。
方案2:
只需要制作一个conn.asp文件即可
★注意:此方法只适用于,网站存放在web网站的根目录(也就是说该网站不能作为虚拟目录来访问)
<%
on error resume next
dim database
dim path
dim conn
dim constr
database = "data/#systemdata.mdb"
'注意此处多了个"/",其中"/"是为了得到网站根目录路径
path = server.mappath("/"&database)
constr = "driver={microsoft access driver (*.mdb)};dbq="&path
set conn = server.createObject("adodb.connection")
conn.open constr
if err.number<>0 then
response.write("error number:"&err.number)
response.write("error description:"&err.description)
response.end()
end if
%>
其他使用数据库的文件只要正确引用conn.asp文件即可。
方案3(也就是方案2个一个扩展,只是定义个变量存储网站虚拟目录名,方便修改):
★此方案不适用于当有其他虚拟目录名与该文件所存放的文件夹名称相同的时候
<%
on error resume next
dim database
dim path
dim virtualDirectory
dim conn
dim constr
'如果conn.asp存放在网站根目录,则virtualDirectory="/"
virtualDirectory = "/虚拟目录名/"
database = "data/#systemdata.mdb"
'注意此处多了个"/",其中"/"是为了得到网站根目录路径
path = server.mappath(virtualDirectory&database)
constr = "driver={microsoft access driver (*.mdb)};dbq="&path
set conn = server.createObject("adodb.connection")
conn.open constr
if err.number<>0 then
response.write("error number:"&err.number)
response.write("error description:"&err.description)
response.end()
end if
%>
方案4:
普遍适用根目录网站和虚拟目录网站
conn.asp
<%
on error resume next
dim database
dim path
dim directory
dim conn
dim constr
'获得该应用程序所在元数据的无理路径,不包括该文件名称
directory = Request.ServerVariables("Appl_Physical_Path")
'注意此处不再是/定义相对路径的方式
database = "data/#systemdata.mdb"
'注意此处没有server.mappath,因为已经是物理路径了
path = directory&database
constr = "driver={microsoft access driver (*.mdb)};dbq="&path
set conn = server.createObject("adodb.connection")
conn.open constr
if err.number<>0 then
response.write("error number:"&err.number)
response.write("error description:"&err.description)
response.end()
end if
%>
由于时间有限,水平宜有限,有些地方没有过多的解释和测试。
如果大家在使用过程中遇到什么错误,或不懂的地方,请提出!
希望对大家有所帮助!
- asp关于网站虚拟目录的一些心得
- 关于VS2005的ASP运用的一些心得
- 关于ASP.NET 输出XML的一些心得
- ASP.NET中关于网站统计的一些常见问题
- 关于QT的一些心得
- 关于一些activex的心得
- 关于RTX51tny的一些心得
- 关于HoG的一些心得
- 关于前端的一些心得
- 关于nfs的一些心得
- 关于uploadify的一些心得
- 关于STM32的一些心得
- 关于项目的一些心得
- 一些关于vue的心得
- 关于虚拟目录的写法
- ASP.NET 管理网站(虚拟目录)
- 关于DNN网站设计的一点心得
- 关于网站建设的一点心得
- 几种支持REST的Java框架
- 4.5.2对象身份比较
- adobe 马鉴深度剖析flex架构体系
- Kernel Mode Sockets Library
- pl/sql语言
- asp关于网站虚拟目录的一些心得
- 网络工程师考试笔记--------数字数据编码
- dll调用,资源文件加载失败
- actionscript3.0 资源管理问题
- C++库资源
- 解析ActionScipt3在资源管理方面的特性和存在的问题
- 火狐插件(firebug)的使用
- 5.12纪念日
- 《用TCP/IP进行网际互联》学习笔记1 - 协议部分