サイト全体では、関数コードを実装するために 1 つのデータベース接続ファイルを使用するだけで済みます。他には何も言いません。元のコードを直接指定するだけです。
次のようにコードをコピーします。
'==========注意===================================== =========
' 1. Web サイトが配置されているフォルダーの名前を root にすることはできません。
' 2. Web サイトが存在するフォルダーの名前。たとえば、F:/t/t など、Web サイトが存在するフォルダーの名前を繰り返すことはできません。場合、エラーが発生します。
'================================================ = ============
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))
'応答.書き込み(db)
'response.End()
'======================
conn=Server.CreateObject(ADODB.Connection) を設定します。
ConnStr=Provider=Microsoft.Jet.OLEDB.4.0;データ ソース=&Db
Conn.Open ConnStr
エラーの場合はその後
エラークリア
SetConn=なし
応答。書き込みデータベース接続エラー!
応答.終了
終了の場合
SubCloseConn()
接続閉じる
conn=何も設定しない
終了サブ
' Web サイトが存在するディレクトリへの絶対パスを取得します (/ 記号付き)
関数 GetSitePhysicalPath(WSFN)
dim APPL_MD_PATH,APPL_MD_PATHArray,パス,WSPP
WSPP=request.ServerVariables(APPL_PHYSICAL_PATH)'デフォルトの Web サイトはルート ディレクトリで実行されます
APPL_MD_PATH=リクエスト.サーバー変数(APPL_MD_PATH)
APPL_MD_PATHArray=split(APPL_MD_PATH,/)
パス=APPL_MD_PATHArray(UBound(APPL_MD_PATHArray))
if UCase(Path)=ROOT then 'Web サイトが独立したアプリケーションで実行されているかどうかを判断します
'その後、Web サイトが特定のフォルダーで実行されているかどうかを判断します
if InStr(WSPP,WSFN)=0 then 'Web サイトはルート ディレクトリ内のフォルダーで実行されます
'訪問したページのアドレスに基づいて、Web サイトが存在するフォルダーのアドレスを入力します。
dim 現在の URL、名前配列
CurrentUrl=リクエスト.サーバー変数(URL)
NameArray=split(CurrentUrl,/)
for i=LBound(NameArray) から UBound(NameArray)
if UCase(NameArray(i))=UCase(WSFN) then
j=0からiの場合
WSPP=WSPP+名前配列(j)+/
次
のために出る
終了する場合
次
else 'Web サイトがルート ディレクトリで実行されていることを示します
'何もする必要はありません、戻り値は初期化されています
終了する場合
else 'Web サイトが仮想ディレクトリで実行されていることを示します
'何もしないでください、戻り値は初期化されています
終了する場合
WSPP=置換(WSPP,//,/)
GetSitePhysicalPath=WSPP
終了機能
PS: 上記は、Access データベースの不正なインクルード パスの問題に対する単なる解決策であり、サイトでデータベース接続ファイルが含まれている場合は、データベースを通常どおり開くことができ、その必要はありません。 Web サイトがどのように実行されるかに注意してください (ルート ディレクトリで実行、仮想パスで実行、ルート ディレクトリ + Web サイトが配置されているディレクトリで実行)。