Весь сайт должен использовать только один файл подключения к базе данных для реализации кода функции. Больше ничего не скажу, просто посвятите исходный код напрямую.
Скопируйте код кода следующим образом:
'==========Внимание===================================== =========
' 1. Имя папки, в которой находится сайт, не может быть корневым.
' 2. Имя папки, в которой расположен веб-сайт. Повторяющиеся имена папок в физическом пути не допускаются. Например, F:/t/t, t — это имя папки, в которой расположен веб-сайт. случае произойдет ошибка.
'============================================== = ============
Dim dbPath, dbName, Db, ConnStr, WebSiteFolderName
при ошибке продолжить дальше
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))
'ответ.Запись(дб)
'ответ.Конец()
'=====================
Установите conn=Server.CreateObject(ADODB.Connection)
ConnStr=Provider=Microsoft.Jet.OLEDB.4.0;Источник данных=&Db
Conn.Open ConnStr
Если Ошибка Тогда
Ошиб.Очистить
SetConn=Ничего
Ответ.Запись ошибки подключения к базе данных!
Ответ.Конец
Конец, если
СубЗакрытьКонн()
конн.закрыть
установить соединение = ничего
конец субтитра
'Получить абсолютный путь к каталогу, в котором находится сайт (со знаком /)
Функция GetSitePhysicalPath(WSFN)
тусклый APPL_MD_PATH,APPL_MD_PATHArray,Путь,WSPP
WSPP=request.ServerVariables(APPL_PHYSICAL_PATH)'Веб-сайт по умолчанию запускается в корневом каталоге.
APPL_MD_PATH=request.ServerVariables(APPL_MD_PATH)
APPL_MD_PATHArray=split(APPL_MD_PATH,/)
Путь = APPL_MD_PATHArray(UBound(APPL_MD_PATHArray))
если UCase(Path)=ROOT, то «Определите, работает ли веб-сайт в независимом приложении»
'Затем определите, работает ли веб-сайт в определенной папке
если InStr(WSPP,WSFN)=0, то 'Веб-сайт запускается в папке в корневом каталоге
'Прописываем адрес папки, в которой находится сайт, исходя из адреса посещенной страницы
dim CurrentUrl, NameArray
CurrentUrl=request.ServerVariables(URL)
NameArray=split(CurrentUrl,/)
от i=LBound(NameArray) до UBound(NameArray)
если UCase(NameArray(i))=UCase(WSFN), то
от j=0 до i
WSPP=WSPP+NameArray(j)+/
следующий
выход для
конец, если
следующий
else 'указывает, что веб-сайт работает в корневом каталоге
'Ничего делать не нужно, возвращаемое значение инициализировано
конец, если
else 'указывает, что веб-сайт работает в виртуальном каталоге
'Ничего не делать, возвращаемое значение инициализировано
конец, если
WSPP=заменить(WSPP,//,/)
GetSitePhysicalPath=WSPP
Конечная функция
PS: Вышеизложенное - это всего лишь решение проблемы неправильных путей включения базы данных Access, чтобы сайт мог поделиться файлом подключения к базе данных. Если какой-либо файл содержит его, базу данных можно открыть нормально, и в этом нет необходимости. беспокоиться о том, как работает веб-сайт (запускать в корневом каталоге, запускать по виртуальному пути, запускать в корневом каталоге + каталоге, в котором расположен веб-сайт).