• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案
    啥都不说了,直接奉献原代码
    复制代码 代码如下:

    '==========注意===============================================
    ' 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 HTTP 500错误 常见问题分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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