ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案

来源:asp之家 时间:2011-04-07 10:35:00 

啥都不说了,直接奉献原代码

代码如下:


'==========注意=============================================== 
' 1、网站所在文件夹的名字不能为“root” 
' 2、网站所在文件夹的名字,物理路径中不允许出现重复此文件夹名,如F:\t\t,t为网站所在文件夹名,这种情况会出错 
'============================================================= 
Dim dbPath,dbName,Db,ConnStr,WebSiteFolderName 
on error resume next 

WebSiteFolderName="WeldSiteBuilder" 
dbPath = "_sitedata\" '注意是反斜杠,且只有末尾有 
dbName = "acteedata.mdb" '数据库名称 
Db=GetSitePhysicalPath(WebSiteFolderName) & dbPath & dbName 
'response.Write("当前数据库物理路径:"&server.mappath(db)) 
'response.Write("<hr>") 
'response.Write("当前请求访问的页面路径:"&request.ServerVariables("URL")) 
'response.Write("<hr>") 
'response.Write("当前站点的根路径:"&request.ServerVariables("APPL_PHYSICAL_PATH")) 
'response.Write("<hr>") 
'response.Write("当前站点的路径状况:"&request.ServerVariables("APPL_MD_PATH")) 
'response.Write(db) 
'response.End() 
'====================== 
Set conn=Server.CreateObject("ADODB.Connection") 
ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Db 
Conn.Open ConnStr 
If Err Then 
Err.Clear 
Set Conn = Nothing 
Response.Write "数据库连接错误!" 
Response.End 
End If 

Sub CloseConn() 
conn.close 
set conn=nothing 
end Sub 

'获取网站所在目录的绝对路径(带“\”号) 
Function GetSitePhysicalPath(WSFN) 
dim APPL_MD_PATH,APPL_MD_PATHArray,Path,WSPP 
WSPP=request.ServerVariables("APPL_PHYSICAL_PATH")'默认网站是在根目录下运行 

APPL_MD_PATH=request.ServerVariables("APPL_MD_PATH") 
APPL_MD_PATHArray=split(APPL_MD_PATH,"/") 
Path=APPL_MD_PATHArray(UBound(APPL_MD_PATHArray)) 
if UCase(Path)="ROOT" then '判断网站是不是在独立的应用程序下运行 
'再判断网站是不是在某个文件夹下运行 
if InStr(WSPP,WSFN)=0 then '网站在根目录下的一个文件夹下运行 
'根据受访页面的地址拼出网站所在文件夹的地址 
dim CurrentUrl,NameArray 
CurrentUrl=request.ServerVariables("URL") 
NameArray=split(CurrentUrl,"/") 
for i=LBound(NameArray) to UBound(NameArray) 
if UCase(NameArray(i))=UCase(WSFN) then 
for j=0 to i 
WSPP=WSPP+NameArray(j)+"\" 
next 
exit for 
end if 
next 
else '表明网站是在根目录下运行 
'什么都不必做,返回值已经初始化了 
end if 
else '表明网站是在虚拟目录下运行 
'什么也不做,返回值已经初始化了 
end if 
WSPP=replace(WSPP,"\\","\") 
GetSitePhysicalPath=WSPP 
End Function 

PS:以上只是针对Access数据库解决的包含路径不对的问题,使站点能公用一个数据库连接文件,任意一个文件包含它,数据库都能正常打开,并且不必理会网站是怎么运行的(根目录下运行,虚拟路径下运行,根目录+网站所在目录下运行)。

标签:ASP,包含文件,路径问题
0
投稿

猜你喜欢

  • asp最简单的生成验证码代码

    2011-03-07 11:05:00
  • 关于DOM事件模型的两件事

    2007-11-21 19:32:00
  • 看ASP程序源码的方法及工具

    2009-01-21 19:58:00
  • DreamweaverMX2004技巧两则

    2010-09-05 21:10:00
  • 如何从ASP连接到Oracle Server?

    2009-11-15 19:52:00
  • 编程活动中几个不良现象

    2008-09-01 12:23:00
  • asp如何读取服务器上的驱动器?

    2009-11-18 20:50:00
  • 2008年情人节各网站节日Logo欣赏

    2008-02-17 14:12:00
  • 分享整理的12条sql语句连同数据

    2012-07-11 16:14:59
  • 什么样的分页案例才是好的

    2007-11-23 19:08:00
  • 20个优秀网站助你征服CSS[译]

    2008-09-21 13:21:00
  • 蚁群算法js版

    2008-10-08 10:15:00
  • ASP 高级模板引擎实现类

    2011-03-25 10:54:00
  • ASP开发的WAP格式简易邮件系统实例

    2008-06-10 17:00:00
  • 如何实现网上站点维护?

    2010-05-24 18:35:00
  • 两个css郁闷的发现

    2007-12-16 15:31:00
  • 设计提升满意度

    2010-05-16 15:00:00
  • 保护MySQL数据库中重要数据的注意事项

    2009-01-19 11:55:00
  • SQL和Oracle对数据库事务处理的差异性

    2009-10-14 09:43:00
  • HTML头部属性全接触

    2007-09-05 19:09:00
  • asp之家 网络编程 m.aspxhome.com