ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案
2009-03-03 00:00
701 查看
啥都不说了,直接奉献原代码
PS:以上只是针对Access数据库解决的包含路径不对的问题,使站点能公用一个数据库连接文件,任意一个文件包含它,数据库都能正常打开,并且不必理会网站是怎么运行的(根目录下运行,虚拟路径下运行,根目录+网站所在目录下运行)。
'==========注意=============================================== ' 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 包含文件中的路径问题和使用单一数据库连接文件的解决方案
- Asp.Net连接ACCESS数据库相对路径问题 web.config中如何使用相对路径及在类文件中调用这个相对路径
- asp.net 文件路径问题,Png图片透明问题,js提示对象不支持属性和方法的解决方案
- Asp.Net 2.0连接ACCESS数据库相对路径问题,web.config中如何使用相对路径
- 使用PLSQL Developer连接数据库的问题解决方案
- 使用heroku开发应用时连接数据库遇到的问题及解决方案
- ASP.Net 类库引用文件路径问题及解决方案
- ASP.NET 链接 Access 数据库路径问题最终解决方案
- 使用ASP开发项目时遇到的连接数据库的性能问题。
- ASP.NET 链接 Access 数据库路径问题最终解决方案
- WinFrom下连接字符串的数据库文件路径问题
- asp.net中SqlDataReader使用时关闭数据库连接的问题(转)
- ASP.NET 链接 Access 数据库路径问题最终解决方案
- C#使用配置文件连接数据库未实例化问题
- asp中遇到的几个问题——数据库连接,几个常见控件的使用问题及其解决
- jsp页面中引入文件路径问题的解决方案(使用request获取项目路径)【原创】
- 使用xml作为数据库的配置文件的路径读取问题
- 解决使用ASP无法连接 ORACLE 9i 数据库的问题。
- Asp.Net连接ACCESS数据库相对路径问题,web.config中如何使用相对路径及在类文件中调用这个相对路径
- ASP.NET 链接 Access 数据库路径问题最终解决方案