L'ensemble du site n'a besoin d'utiliser qu'un seul fichier de connexion à la base de données pour implémenter le code de la fonction. Je ne dirai rien d'autre, il suffit de consacrer directement le code d'origine.
Copiez le code comme suit :
'==========Attention======================================= =========
' 1. Le nom du dossier où se trouve le site Web ne peut pas être root.
' 2. Le nom du dossier où se trouve le site Web. Les noms de dossier répétés ne sont pas autorisés dans le chemin physique. Par exemple, F:/t/t, t est le nom du dossier où se trouve le site Web. Dans ce cas, une erreur se produira.
'================================================== = ============
Dim dbPath,dbName,Db,ConnStr,WebSiteFolderName
en cas d'erreur, reprendre ensuite
WebSiteFolderName=WeldSiteBuilder
dbPath = _sitedata/ 'Notez qu'il s'agit d'une barre oblique inverse, et seulement à la fin
dbName = acteedata.mdb 'Nom de la base de données
Db = GetSitePhysicalPath (WebSiteFolderName) & dbPath & dbName
'response.Write(chemin physique de la base de données actuelle : &server.mappath(db))
'réponse.Write(<hr>)
'response.Write (Chemin de la page actuellement demandé : &request.ServerVariables (URL))
'réponse.Write(<hr>)
'response.Write(chemin racine du site actuel : &request.ServerVariables(APPL_PHYSICAL_PATH))
'réponse.Write(<hr>)
'response.Write(état du chemin du site actuel : &request.ServerVariables(APPL_MD_PATH))
'réponse.Write(db)
'réponse.Fin()
'=======================
Définir conn=Server.CreateObject(ADODB.Connection)
ConnStr=Provider=Microsoft.Jet.OLEDB.4.0;Source de données=&Db
Conn.Ouvrir ConnStr
Si erreur alors
Err.Effacer
SetConn=Rien
Erreur de connexion à la base de données Response.Write !
Réponse.Fin
Fin si
Sous-FermerConn()
connexion.fermer
définir conn = rien
fin du sous-marin
'Obtenir le chemin absolu vers le répertoire où se trouve le site Web (avec le signe /)
Fonction GetSitePhysicalPath(WSFN)
faible APPL_MD_PATH,APPL_MD_PATHArray,Chemin,WSPP
WSPP=request.ServerVariables(APPL_PHYSICAL_PATH)'Le site Web par défaut s'exécute dans le répertoire racine
APPL_MD_PATH=request.ServerVariables(APPL_MD_PATH)
APPL_MD_PATHArray=split(APPL_MD_PATH,/)
Chemin=APPL_MD_PATHArray(UBound(APPL_MD_PATHArray))
if UCase(Path)=ROOT then 'Déterminer si le site Web s'exécute sous une application indépendante
'Ensuite, déterminez si le site Web s'exécute dans un certain dossier
if InStr(WSPP,WSFN)=0 then 'Le site Web s'exécute dans un dossier du répertoire racine
'Épelez l'adresse du dossier dans lequel se trouve le site Web en fonction de l'adresse de la page visitée
faible CurrentUrl,NameArray
CurrentUrl=request.ServerVariables(URL)
NomArray=split(UrlActuelle,/)
pour i=LBound(NameArray) à UBound(NameArray)
si UCase(NameArray(i))=UCase(WSFN) alors
pour j=0 à i
WSPP=WSPP+NomArray(j)+/
suivant
sortie pour
finir si
suivant
else 'indique que le site Web s'exécute dans le répertoire racine
'Pas besoin de faire quoi que ce soit, la valeur de retour a été initialisée
finir si
else 'indique que le site Web s'exécute dans un répertoire virtuel
'Ne rien faire, la valeur de retour a été initialisée
finir si
WSPP=remplacer(WSPP,//,/)
GetSitePhysicalPath=WSPP
Fonction de fin
PS : ce qui précède n'est qu'une solution au problème des chemins d'inclusion incorrects pour la base de données Access, afin que le site puisse partager un fichier de connexion à la base de données. Si un fichier le contient, la base de données peut être ouverte normalement, et ce n'est pas nécessaire. souciez-vous du fonctionnement du site Web (exécuter dans le répertoire racine, exécuter sous le chemin virtuel, exécuter sous le répertoire racine + le répertoire où se trouve le site Web).