- - PR -
ロールバックについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-08-27 18:03
お世話になっております。
ASP + SQL Server2000 + Win2003にて、Webシステムの開発を行なっております。 <事象> ASPにて、トランザクション開始・終了を明示的に指定し、 DBエラーを起こしてロールバックのテストを行なったが、 ロールバックされない。 おそらくSQL Server2000でロールバックを有効にするよう設定しなければならない かと思うのですが・・・。 この有効化、無効化の選択はインストール時に決定してしまうものなのでしょうか? どなたかご存知の方、ご教授願います。 | ||||
|
投稿日時: 2004-08-27 18:11
こんばんは。
あのーロールバックと言うのはSQL Serverに関わらずDBMSの基本的な機能なんですけど… ロールバックが出来なかったらDBMS自体が成り立たなくなりますよ。(^_^; DB2にはロールバックって無いみたいですけど。 DBを作成する際にロールバックを無効で作成してませんか? あと、内容を見る限りそんな事は無いと思いますが、コミットしてしまった物は ロールバック出来ませんので。 [ メッセージ編集済み 編集者: NAO 編集日時 2004-08-27 18:16 ] [ メッセージ編集済み 編集者: NAO 編集日時 2004-08-27 18:25 ] | ||||
|
投稿日時: 2004-08-27 18:39
ロールバックとは関係ないですが、Windows2003でのASP(ASP.NETじゃないですよね?)
は、結構不具合ある上に、Microsoftの対応が良くないのでお勧めできません。 今から作るなら、ASP.NETで作るか、検討するのをお勧めします。 | ||||
|
投稿日時: 2004-08-27 18:42
早速の返答、ありがとうございます。
ASPはver.2.0です。 いろいろなご意見ありがとうございます。 .NET化は工数的に難しいですね。。 ロールバックは基本的な機能のはずなんですが、 DB登録状況を見ると、トランザクション開始前の状態ではなく、 エラーの発生したクエリの直前のクエリが実行された状態なんです・・。 ロールバック処理をDLLにて行なっているのですが、 DLLからDBMSへのロールバック指示がうまくいっていないんでしょうか? ロールバック指示は以下の様にコーディングしています。 objTxCtx.abort (objTxCtxは、トランザクションオブジェクトです) | ||||
|
投稿日時: 2004-08-27 18:43
AUTOCOMMITがONになっているんじゃないですか?
| ||||
|
投稿日時: 2004-08-27 18:50
初心者なものでよくわからないのですが。。
AUTOCOMMITはデータベースのプロパティなのでしょうか? また、そのON/OFFの切り替えはステートメントの実行で可能なのでしょうか? ご回答よろしくお願いします。 | ||||
|
投稿日時: 2004-08-28 06:52
初心者ならまずマニュアルを見る。SQL ServerならBook OnLine。
マニュアルが正で、回答は補助。 |
1