นักพัฒนาที่ระมัดระวังบางครั้งคิดว่าเมื่อเรารวมโค้ดเช่น
<!-- #include file="conn.asp" -->
ไว้ในหน้าที่จำเป็นต้องอ่านและเขียนลงในฐานข้อมูลที่จริงแล้วเมื่อคุณไม่ได้อ่านหรือเขียนใดๆ การเขียน ในระหว่างการดำเนินการฐานข้อมูล การเชื่อมต่อฐานข้อมูลยังคงเปิดอยู่และยังคงใช้ทรัพยากรเซิร์ฟเวอร์
แล้วมีวิธีใดบ้างที่เราจะทำให้การเชื่อมต่อฐานข้อมูลเปิดเฉพาะเมื่อจำเป็นต้องอ่านฐานข้อมูล และจะไม่มีการดำเนินการใดๆ เมื่อไม่ได้อ่าน แนวคิดนี้มีให้ไว้ด้านล่างนี้เพื่อสร้างแรงบันดาลใจให้ผู้อื่น
แนวคิดนี้คือการห่อหุ้มโค้ดการเชื่อมต่อฐานข้อมูลในฟังก์ชันและเรียกใช้ฟังก์ชันนี้เมื่อจำเป็นต้องอ่าน
ต่อไปนี้เป็นรหัสการเชื่อมต่อ SQL:
Function Open_conn()
สลัวคอนน์, สเตรคอนน์
ตั้งค่า Conn=server.createobject("adodb.connection")
Strconn = "ผู้ให้บริการ = Sqloledb; ID ผู้ใช้ = บัญชีเข้าสู่ระบบฐานข้อมูล; รหัสผ่าน = รหัสผ่านเข้าสู่ระบบฐานข้อมูล; แค็ตตาล็อกเริ่มต้น = ชื่อฐานข้อมูล; แหล่งข้อมูล = (ท้องถิ่น);"
Conn.open Strconn
ตั้งค่า Open_conn=Conn
หากผิดพลาดแล้ว
ผิดพลาด เคลียร์
Conn.close:set Conn=nothing
ตอบกลับเขียน "ขออภัย ข้อผิดพลาดในการเชื่อมต่อฐานข้อมูล"
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
ใช้ฟังก์ชันสิ้นสุด
:
เปลี่ยน rs.open sql ดั้งเดิม
, conn
เป็น
rs.open sql, Open_conn()
ต่อไปนี้เป็นรหัสการเชื่อมต่อ ACCESS:
Function Open_conn()
Dbpath สลัว Conn
Dbpath=server.MapPath("เส้นทางฐานข้อมูล")
ตั้งค่า Conn=server.createObject("ADODB.connection")
Conn.open "แหล่งข้อมูล="&dbpath&";provider=microsoft.Jet.OLEDB.4.0;"
ตั้งค่า Open_conn=Conn
หากผิดพลาดแล้ว
ผิดพลาด เคลียร์
Conn.close:set Conn=nothing
ตอบกลับเขียน "ขออภัย ข้อผิดพลาดในการเชื่อมต่อฐานข้อมูล"
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
ใช้ฟังก์ชันสิ้นสุด
:
แทนที่ต้นฉบับ
rs.open sql, conn
เปลี่ยนเป็น
rs.open sql, Open_conn()
มีโค้ดเก่าที่สามารถแชร์ฐานข้อมูล ACCESS ข้ามไซต์บนเซิร์ฟเวอร์เดียวกัน บางทีเพื่อนบางคนอาจใช้มันได้:
บางครั้งเรามีชื่อโดเมนระดับสองหลายชื่อ และเราอาจต้องการ เพื่อให้ชื่อโดเมนระดับที่สองเหล่านี้เรียกฐานข้อมูล ACCESS บางรายการ หากคุณไม่ต้องการใช้ฐานข้อมูล SQL คุณสามารถใช้วิธีต่อไปนี้สำหรับการเชื่อมต่อฐานข้อมูลได้ (หมายเหตุพิเศษ: หากเซิร์ฟเวอร์ของคุณมีสิทธิ์ด้านความปลอดภัย FSO คุณต้องตั้งค่าไดเร็กทอรีฐานข้อมูลนี้เพื่ออนุญาตให้ผู้ใช้ IIS ของแต่ละสถานีที่คุณต้องการโทรเพื่อให้สามารถเข้าถึงและแก้ไขได้)
พาธฟิสิคัลต่อไปนี้ไปยังฐานข้อมูลจะคล้ายกับ E: Directory Directorydatabase ชื่อ
dim Conn, Strconn
ตั้งค่า Conn = Server.CreateObject("ADODB.Connection")
Strconn = "ผู้ให้บริการ = Microsoft.Jet.OLEDB.4.0; "
Strconn=Strconn & "แหล่งข้อมูล=พาธฟิสิคัลฐานข้อมูล"
Conn.เปิด Strconn
หากผิดพลาดแล้ว
ผิดพลาด เคลียร์
Conn.close:set Conn=nothing
ตอบกลับเขียน "ขออภัย ข้อผิดพลาดในการเชื่อมต่อฐานข้อมูล"
การตอบสนองสิ้นสุด
สิ้นสุดถ้า