データベースのトランザクションを上手に活用するにはどうすればよいでしょうか?
ASPの実際の運用では、私の口座からフェイ・ウェンファさんの銀行の口座にお金を振り込む、といったことが必ず起こります。
私の口座には引き落とされたことが示されていましたが、銀行のシステム障害により、飛文華さんの口座のデータベース変更に失敗しました。
これはどのように対処すればよいのでしょうか?私の口座の金額が失われることはないはずですよね?
もちろん、あなたの興味は失われることはなく、変更されたアカウントデータベース情報は自動的に復元されます。
ここで使用されるのは、IISとMTS(Microsoft Transaction Server)で構成される対話機能(TRANSACTION)です。
一緒に終わりました。その機能は次のとおりです。ASP プログラム内のすべてのデータベース変更が成功した場合、そのうちの 1 つが成功したと見なされます。
データベースの変更が失敗した場合、他の変更されたデータベース レコードは自動的に復元されます。
SQL SERVER データベースと ORACLE データベースはどちらも対話型機能を提供しますが、ACCESS には対話型機能がありません。
この対話型関数は、ASP プログラムの範囲内で動作します。つまり、このプログラムに関係するすべてのデータベースには対話型関数があります。
その方法は、ASP プログラムの最初の行に次を追加することです。
トランザクション=必須
このプログラムが対話型関数を使用することを IIS に伝えるには、特定の ASP プログラムは次のようにします。
< %@ TRANSACTION=必須 LANGUAGE=VBScript% >
…
< % obj1 = Server.CreateObject(testobj.cls1)% を設定 >
< % = obj1.data3t(1,10)% >
<%
SubOnTransactionCommit()
…
エンドサブ
SubOnTransactionAbort()
…
エンドサブ
%>