จะใช้ Transaction ในฐานข้อมูลให้เกิดประโยชน์ได้อย่างไร?
ในการดำเนินการจริงของ ASP สถานการณ์ดังกล่าวมักเกิดขึ้นเสมอ เช่น การโอนเงินจากบัญชีของฉันไปยังบัญชีของ Fei Wenhua ที่ธนาคาร
บัญชีของฉันแสดงว่าถูกหักบัญชีแล้ว แต่เนื่องจากระบบของธนาคารล้มเหลว การเปลี่ยนแปลงฐานข้อมูลของบัญชี Fei Wenhua จึงล้มเหลว
สิ่งนี้ควรได้รับการจัดการอย่างไร? จำนวนเงินในบัญชีของฉันไม่น่าจะขาดทุนใช่ไหม?
แน่นอนว่าความสนใจของคุณจะไม่สูญหาย และข้อมูลฐานข้อมูลบัญชีที่เปลี่ยนแปลงจะถูกกู้คืนโดยอัตโนมัติ
สิ่งที่ใช้ที่นี่คือฟังก์ชันโต้ตอบ (TRANSACTION) ซึ่งประกอบด้วย IIS และ MTS (Microsoft Transaction Server)
เสร็จพร้อมกัน. หน้าที่ของมันคือ: เมื่อการเปลี่ยนแปลงฐานข้อมูลทั้งหมดในโปรแกรม ASP สำเร็จ จะถือว่าสำเร็จ หากมีการเปลี่ยนแปลงอย่างใดอย่างหนึ่ง
หากการเปลี่ยนแปลงฐานข้อมูลล้มเหลว บันทึกฐานข้อมูลอื่นๆ ที่เปลี่ยนแปลงจะถูกกู้คืนโดยอัตโนมัติ
ทั้งฐานข้อมูล SQL SERVER และ ORACLE มีฟังก์ชันแบบโต้ตอบ แต่ ACCESS ไม่มี
ฟังก์ชันแบบโต้ตอบนี้ทำงานภายในขอบเขตของโปรแกรม ASP กล่าวคือ ฐานข้อมูลทั้งหมดที่เกี่ยวข้องกับโปรแกรมนี้มีฟังก์ชันแบบโต้ตอบ
วิธีการคือการเพิ่ม: ในบรรทัดแรกของโปรแกรม ASP:
ธุรกรรม=จำเป็น
เพื่อบอก IIS ว่าโปรแกรมนี้ต้องการใช้ฟังก์ชันแบบโต้ตอบ โปรแกรม ASP เฉพาะ:
< %@ TRANSACTION=ภาษาที่ต้องการ=VBScript% >
-
< % ตั้ง obj1 = Server.CreateObject(testobj.cls1)% >
< % = obj1.data3t(1,10)% >
-
SubOnTransactionCommit ()
-
จบหมวดย่อย
SubOnTransactionAbort ()
-
จบหมวดย่อย
-