كيفية الاستفادة الجيدة من المعاملات في قاعدة البيانات؟
في التشغيل الفعلي لـ ASP، يحدث دائمًا مثل هذا الموقف، مثل تحويل الأموال من حسابي إلى حساب Fei Wenhua في البنك.
أظهر حسابي أنه قد تم الخصم منه، ولكن بسبب فشل نظام البنك، فشل تغيير قاعدة البيانات لحساب Fei Wenhua.
كيف ينبغي التعامل مع هذا؟ يجب ألا يكون هناك خسارة للمبلغ الموجود في حسابي، أليس كذلك؟
وبطبيعة الحال، لن تضيع اهتماماتك، وسيتم استعادة معلومات قاعدة بيانات الحساب المتغيرة تلقائيا.
ما يتم استخدامه هنا هو الوظيفة التفاعلية (TRANSACTION)، والتي تتكون من IIS وMTS (Microsoft Transaction Server)
تم ذلك معًا. وظيفتها هي: عندما تكون جميع تغييرات قاعدة البيانات في برنامج ASP ناجحة، فإنها تعتبر ناجحة إذا كان أحدها
إذا فشل تغيير قاعدة البيانات، فستتم استعادة سجلات قاعدة البيانات الأخرى التي تم تغييرها تلقائيًا.
توفر كل من قواعد بيانات SQL SERVER وORACLE وظائف تفاعلية، لكن ACCESS لا يوفرها.
تعمل هذه الوظيفة التفاعلية ضمن نطاق برنامج ASP، أي أن جميع قواعد البيانات المشاركة في هذا البرنامج لها وظائف تفاعلية.
الطريقة هي إضافة: في السطر الأول من برنامج ASP:
المعاملة=مطلوب
لإخبار IIS أن هذا البرنامج يريد استخدام الوظائف التفاعلية، برنامج ASP المحدد:
< %@ المعاملة=اللغة المطلوبة=VBScript% >
…
< % Set obj1 = Server.CreateObject(testobj.cls1)% >
< % = obj1.data3t(1,10)% >
<%
SubOnTransactionCommit()
…
نهاية الفرعية
SubOnTransactionAbort()
…
نهاية الفرعية
%>