Как эффективно использовать транзакции в базе данных?
В реальной работе ASP всегда возникает такая ситуация, например, перевод денег с моего счета на счет Фэй Вэньхуа в банке.
Мой счет показал, что он был дебетован, но из-за сбоя системы банка изменение базы данных счета Фэй Вэньхуа не удалось.
Как с этим справиться? На моем счету не должно быть потери суммы, верно?
Разумеется, ваши интересы не будут потеряны, а измененная информация в базе данных учетной записи будет автоматически восстановлена.
Здесь используется интерактивная функция (TRANSACTION), состоящая из IIS и MTS (Microsoft Transaction Server).
Сделано вместе. Его функция: когда все изменения базы данных в программе ASP успешны, считается успешным, если одно из них;
Если изменение базы данных не удалось, другие измененные записи базы данных будут автоматически восстановлены.
Базы данных SQL SERVER и ORACLE предоставляют интерактивные функции, а ACCESS — нет.
Эта интерактивная функция работает в рамках программы ASP, то есть все базы данных, участвующие в этой программе, имеют интерактивные функции.
Метод заключается в добавлении: в первой строке программы ASP:
ТРАНЗАКЦИЯ=Обязательно
Чтобы сообщить IIS, что эта программа хочет использовать интерактивные функции, специальная программа ASP:
< %@ TRANSACTION=Обязательный LANGUAGE=VBScript% >
…
< % Set obj1 = Server.CreateObject(testobj.cls1)% >
< % = obj1.data3t(1,10)% >
<%
СубОнтранзакционкоммит()
…
Конец субтитра
СубОнтранзакцияАборт()
…
Конец субтитра
%>