利用ASP实现事务处理的方法(4)


<% response.Redirect RegisterOk.html %> 
<% End Sub %> 
//事物执行失败触发事件 
<% Sub OnTransactionAbort() %>  
<% response.Redirect RegisterFail.html %> 
<% End Sub %> 
<% sqlText="Insert into USER(userName,userPasswd) values('" %> 
<% sqlText=sqlText & request("usrName") & "','" &request("usrPasswd")&"') " %> 
<% conn.execute(sqlText) %> 
<% if conn.Errors.Count>0 then %> 
<% conn.Errors.Clear %> 
<% ObjectContext.SetAbort %> 
<% end if %> 
<% sqlText="Insert into USERDOC(userName,Age,Sex,PhoneNumber,Address) "%> 
<% sqlText=sqlText & "values('" & request("usrName")& "', " & request("Age") %> 
<% sqlText=sqlText & ",'" & request("PhoneNum") & "','" %> 
<% sqlText=sqlText & request("Address") & "') " %> 
<% conn.execute(sqlText) %> 
<% if conn.Errors.Count>0 then %> 
<% conn.Errors.Clear %> 
<% ObjectContext.SetAbort %> 
<% end if %> 
<% ObjectContext.SetComplete %> 


方案比较 
从灵活的角度考虑,选择采用ASP数据库组件的方法具有一定的优势:既可以选用ADO数据库组件完成事务处理,同时还可以根据实际需要,定制自己的数据库组件(只要满足ASP组件编写规范即可)。如果从数据库事务处理的可靠性等角度考虑,则采用数据库内部的事务处理存储过程更好。这样可以直接利用数据库事务机制完成应用程序的逻辑事务处理,安全可靠,并且减少了Web服务器与数据库服务器之间的数据交互。这一点对分布式数据库系统尤为重要。采用MTS组件的事务处理方法的优势在于:由MTS服务器直接控制和管理组件(在MTS中注册的组件)操作的完成和撤消,具有良好的扩展空间和应用前景,可以充分发挥MTS的技术优势,增强网络应用的容错性能,提高IIS Web服务器的动态性能。 

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3224.html