ทั้งไซต์จำเป็นต้องใช้ไฟล์การเชื่อมต่อฐานข้อมูลเพียงไฟล์เดียวเพื่อใช้งานโค้ดฟังก์ชัน ฉันจะไม่พูดอะไรอีก เพียงแค่อุทิศโค้ดต้นฉบับโดยตรง
คัดลอกรหัสรหัสดังต่อไปนี้:
'==========ความสนใจ====================================== =========
' 1. ชื่อของโฟลเดอร์ที่เว็บไซต์ตั้งอยู่ไม่สามารถรูทได้
' 2. ชื่อของโฟลเดอร์ที่เว็บไซต์นั้นตั้งอยู่ ไม่อนุญาตให้ใช้ชื่อโฟลเดอร์ซ้ำในพาธทางกายภาพ ตัวอย่างเช่น F:/t/t, t คือชื่อของโฟลเดอร์ที่เว็บไซต์นั้นตั้งอยู่ กรณีจะเกิดข้อผิดพลาด
'=================================================' = ============
หรี่ dbPath,dbName,Db,ConnStr,WebSiteFolderName
เมื่อเกิดข้อผิดพลาดดำเนินการต่อต่อไป
WebSiteFolderName=WeldSiteBuilder
dbPath = _sitedata/ 'โปรดทราบว่ามันเป็นแบ็กสแลชและต่อท้ายเท่านั้น
dbName = acteedata.mdb 'ชื่อฐานข้อมูล
Db=GetSitePhysicalPath(WebSiteFolderName) & dbPath & dbName
'response.Write(พาธทางกายภาพของฐานข้อมูลปัจจุบัน: &server.mappath(db))
'response.เขียน(<hr>)
'response.Write(เส้นทางเพจที่ร้องขอในปัจจุบัน: &request.ServerVariables(URL))
'response.เขียน(<hr>)
'response.Write(เส้นทางรูทของไซต์ปัจจุบัน: &request.ServerVariables(APPL_PHYSICAL_PATH))
'response.เขียน(<hr>)
'response.Write(สถานะเส้นทางของไซต์ปัจจุบัน: &request.ServerVariables(APPL_MD_PATH))
'ตอบกลับเขียน(db)
'การตอบกลับสิ้นสุด()
-
ตั้งค่า conn=Server.CreateObject(ADODB.Connection)
ConnStr=ผู้ให้บริการ=Microsoft.Jet.OLEDB.4.0;แหล่งข้อมูล=&Db
Conn.เปิด ConnStr
หากผิดพลาดแล้ว
ผิดพลาด.เคลียร์
SetConn=ไม่มีอะไร
Response.Write ข้อผิดพลาดในการเชื่อมต่อฐานข้อมูล!
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
SubCloseConn()
เชื่อมต่อปิด
ตั้งค่า conn=ไม่มีอะไร
จบย่อย
'รับเส้นทางที่แน่นอนไปยังไดเร็กทอรีที่เว็บไซต์ตั้งอยู่ (มี / เครื่องหมาย)
ฟังก์ชัน 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=แยก(APPL_MD_PATH,/)
เส้นทาง=APPL_MD_PATHArray(UBound(APPL_MD_PATHArray))
ถ้า UCase(Path)=ROOT ให้ 'ตรวจสอบว่าเว็บไซต์ทำงานภายใต้แอปพลิเคชันอิสระหรือไม่
'จากนั้นตรวจสอบว่าเว็บไซต์กำลังทำงานอยู่ในโฟลเดอร์ใดโฟลเดอร์หนึ่งหรือไม่
ถ้า InStr(WSPP,WSFN)=0 ดังนั้น 'เว็บไซต์ทำงานในโฟลเดอร์ในไดเร็กทอรีราก'
'สะกดที่อยู่ของโฟลเดอร์ที่เว็บไซต์ตั้งอยู่ตามที่อยู่ของหน้าที่เยี่ยมชม
สลัว CurrentUrl, NameArray
CurrentUrl=request.ServerVariables(URL)
NameArray=แยก(CurrentUrl,/)
สำหรับ i=LBound(NameArray) ถึง UBound(NameArray)
ถ้า UCase(NameArray(i))=UCase(WSFN) แล้ว
สำหรับ j=0 ถึง i
WSPP=WSPP+NameArray(เจ)+/
ต่อไป
ออกเพื่อ
สิ้นสุดถ้า
ต่อไป
else 'แสดงว่าเว็บไซต์กำลังทำงานอยู่ในไดเร็กทอรีราก
'ไม่จำเป็นต้องทำอะไร ค่าที่ส่งคืนได้ถูกเตรียมใช้งานแล้ว'
สิ้นสุดถ้า
else 'บ่งชี้ว่าเว็บไซต์กำลังทำงานอยู่ในไดเร็กทอรีเสมือน
'ไม่ต้องทำอะไรเลย ค่าที่ส่งคืนได้ถูกเตรียมใช้งานแล้ว'
สิ้นสุดถ้า
WSPP=แทนที่(WSPP,///,/)
GetSitePhysicalPath=WSPP
ฟังก์ชันสิ้นสุด
PS: ข้อมูลข้างต้นเป็นเพียงวิธีแก้ปัญหาการรวมเส้นทางที่ไม่ถูกต้องสำหรับฐานข้อมูล Access เพื่อให้ไซต์สามารถแชร์ไฟล์การเชื่อมต่อฐานข้อมูลได้ หากมีไฟล์ใด ๆ อยู่ ฐานข้อมูลก็สามารถเปิดได้ตามปกติ และไม่จำเป็นต้องเปิด กังวลเกี่ยวกับวิธีการทำงานของเว็บไซต์ (รันในไดเร็กทอรีราก, รันภายใต้พาธเสมือน, รันภายใต้ไดเร็กทอรีราก + ไดเร็กทอรีที่เว็บไซต์ตั้งอยู่)