如何在数据库中用好Transaction?
如何在数据库中用好Transaction?
在ASP的实际操作中,总会发生这样的情况,如在银行,从我的帐户往费文华的帐户划款,
我的帐户显示已经划出,但因银行的系统出现故障,导致费文华帐户的数据库更改失败,
这应该怎样处理呢?我帐户的金额应该没有损失吧?
你的利益当然没有损失,已经更改的帐户数据库资料会自动恢复。
这里用到的就是互动功能(TRANSACTION),它是由IIS与MTS(Mircrosoft Transaction Server)
共同完成的。它的功能就是:当ASP程序中所有的数据库的更改都成功时,才算成功;如果其中有一
个数据库更改失败,则其它业已更改的数据库记录都将自动恢复。
SQL SERVER和ORACLE数据库都提供了互动功能,但ACCESS没有提供。
这种互动功能作用于一个ASP程序的范围,就是说,凡是涉及到这个程序的所有的数据库都有互动功能。
方法是在ASP程序的第一行加上:
TRANSACTION=Required
以告诉IIS本程序要使用互动的功能,具体ASP程序:
< %@ TRANSACTION=Required LANGUAGE="VBScript"% >
……
< % Set obj1 = Server.CreateObject("testobj.cls1")% >
< % = obj1.data3t(1,10)% >
< %
Sub OnTransactionCommit()
……
End Sub
Sub OnTransactionAbort()
……
End Sub
% >
在ASP的实际操作中,总会发生这样的情况,如在银行,从我的帐户往费文华的帐户划款,
我的帐户显示已经划出,但因银行的系统出现故障,导致费文华帐户的数据库更改失败,
这应该怎样处理呢?我帐户的金额应该没有损失吧?
你的利益当然没有损失,已经更改的帐户数据库资料会自动恢复。
这里用到的就是互动功能(TRANSACTION),它是由IIS与MTS(Mircrosoft Transaction Server)
共同完成的。它的功能就是:当ASP程序中所有的数据库的更改都成功时,才算成功;如果其中有一
个数据库更改失败,则其它业已更改的数据库记录都将自动恢复。
SQL SERVER和ORACLE数据库都提供了互动功能,但ACCESS没有提供。
这种互动功能作用于一个ASP程序的范围,就是说,凡是涉及到这个程序的所有的数据库都有互动功能。
方法是在ASP程序的第一行加上:
TRANSACTION=Required
以告诉IIS本程序要使用互动的功能,具体ASP程序:
< %@ TRANSACTION=Required LANGUAGE="VBScript"% >
……
< % Set obj1 = Server.CreateObject("testobj.cls1")% >
< % = obj1.data3t(1,10)% >
< %
Sub OnTransactionCommit()
……
End Sub
Sub OnTransactionAbort()
……
End Sub
% >
相关推荐
风之羽翼 2020-09-14
CoderToy 2020-11-16
技术之博大精深 2020-10-16
emmm00 2020-11-17
bianruifeng 2020-11-16
云中舞步 2020-11-12
世樹 2020-11-11
暗夜之城 2020-11-11
张荣珍 2020-11-12
amienshxq 2020-11-14
ASoc 2020-11-14
yungpheng 2020-10-19
loveyouluobin 2020-09-29
尘封飞扬 2020-09-29
Coder技术文摘 2020-09-29
lbyd0 2020-11-17
BigYellow 2020-11-16
sushuanglei 2020-11-12