如何在数据库中用好Transaction?
程序员文章站
2022-08-10 19:53:40
如何在数据库中用好transaction?在asp的实际操作中,总会发生这样的情况,如在银行,从我的帐户往费文华的帐户划款,我的帐户显示已经划出,但因银行的系统出现故障,导...
如何在数据库中用好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
% >
上一篇: js 返回上一页和刷新
下一篇: JSP实现快速上传文件的方法