데이터베이스에서 Transaction을 잘 활용하는 방법은 무엇입니까?
ASP를 실제로 운영하다 보면 내 계좌에서 페이웬화의 은행 계좌로 돈이 이체되는 등의 상황은 늘 발생한다.
내 계좌에서 인출된 것으로 나타났으나 은행 시스템 장애로 인해 페이웬화 계좌의 데이터베이스 변경에 실패했습니다.
이 문제는 어떻게 처리해야 합니까? 내 계좌에 있는 금액의 손실이 없어야겠죠?
물론, 귀하의 관심은 사라지지 않으며, 변경된 계정 데이터베이스 정보는 자동으로 복원됩니다.
여기서 사용되는 것은 IIS와 MTS(Microsoft Transaction Server)로 구성된 대화형 기능(TRANSACTION)입니다.
함께 완료되었습니다. 그 기능은 다음과 같습니다. ASP 프로그램의 모든 데이터베이스 변경이 성공하면 그 중 하나가 성공한 것으로 간주됩니다.
데이터베이스 변경이 실패하면 변경된 다른 데이터베이스 기록이 자동으로 복원됩니다.
SQL SERVER 및 ORACLE 데이터베이스는 모두 대화형 기능을 제공하지만 ACCESS는 그렇지 않습니다.
이 대화형 기능은 ASP 프로그램 범위 내에서 작동합니다. 즉, 이 프로그램과 관련된 모든 데이터베이스에는 대화형 기능이 있습니다.
방법은 ASP 프로그램의 첫 번째 줄에 다음을 추가하는 것입니다.
거래=필수
이 프로그램이 대화형 기능을 사용하려고 한다는 것을 IIS에 알리기 위해 특정 ASP 프로그램은 다음을 수행합니다.
< %@ TRANSACTION=필수 LANGUAGE=VBScript% >
…
< % 설정 obj1 = Server.CreateObject(testobj.cls1)% >
< % = obj1.data3t(1,10)% >
<%
SubOnTransactionCommit()
…
서브 끝
SubOnTransactionAbort()
…
서브 끝
%>