如何在數據庫中用好Transaction?
更新時間:2006年06月23日 00:00:00 作者:
如何在數據庫中用好Transaction?
在ASP的實際操作中,總會發(fā)生這樣的情況,如在銀行,從我的帳戶往費文華的帳戶劃款,
我的帳戶顯示已經劃出,但因銀行的系統(tǒng)出現(xiàn)故障,導致費文華帳戶的數據庫更改失敗,
這應該怎樣處理呢?我?guī)舻慕痤~應該沒有損失吧?
你的利益當然沒有損失,已經更改的帳戶數據庫資料會自動恢復。
這里用到的就是互動功能(TRANSACTION),它是由IIS與MTS(Mircrosoft Transaction Server)
共同完成的。它的功能就是:當ASP程序中所有的數據庫的更改都成功時,才算成功;如果其中有一
個數據庫更改失敗,則其它業(yè)已更改的數據庫記錄都將自動恢復。
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的實際操作中,總會發(fā)生這樣的情況,如在銀行,從我的帳戶往費文華的帳戶劃款,
我的帳戶顯示已經劃出,但因銀行的系統(tǒng)出現(xiàn)故障,導致費文華帳戶的數據庫更改失敗,
這應該怎樣處理呢?我?guī)舻慕痤~應該沒有損失吧?
你的利益當然沒有損失,已經更改的帳戶數據庫資料會自動恢復。
這里用到的就是互動功能(TRANSACTION),它是由IIS與MTS(Mircrosoft Transaction Server)
共同完成的。它的功能就是:當ASP程序中所有的數據庫的更改都成功時,才算成功;如果其中有一
個數據庫更改失敗,則其它業(yè)已更改的數據庫記錄都將自動恢復。
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
% >
相關文章
javascript asp教程第十二課---session對象
javascript asp教程第十二課---session對象...2007-03-03javascript asp教程第十一課--Application 對象
javascript asp教程第十一課--Application 對象...2007-03-03chr(9)、chr(10)、chr(13)、chr(32)、chr(34)講解
chr(9)、chr(10)、chr(13)、chr(32)、chr(34)講解...2007-03-03