- - PR -
ストアド内でTRANSACTIONをかけた場合、ADO.NET側はTRANSACTIONが必要?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-03-17 16:02
お世話になっております。
ASP.NETアプリケーションからSQLServerのストアドプロシージャを呼び出そうと思っています。 (VS2003 C#/SQLServer2000) ストアド内でトランザクション処理を行っているのですが その場合、呼び出し側でもトランザクションをかける必要があるのでしょうか。 Webや本のサンプルでは、呼び出し側でしかかけていないようです。 ご存知の方いましたら教えてください。 よろしくお願い致します。 |
|
投稿日時: 2005-03-17 17:31
必要ない。
はず。ほかに返答が無いもんで不安になってみた。 _________________ たつごろー codeseek こみゅぷらす |
|
投稿日時: 2005-03-17 17:52
.NET開発以前ときは(VB)思い切り
VB側にもTransactionを入れておりました; #とても無駄だったんですね; ありがとうございました。 |
|
投稿日時: 2005-03-17 17:54
SQLServerの場合トランザクションをネスト出来るんですよ。Begin Transを複数回実行して、部分的にCommit/RollBackすることも出来るんです。
なので「仕様上必要なら行ってください。不要なら行う必要は無いです。」って答えになるのかなと。つまり任意。 |
|
投稿日時: 2005-03-17 18:06
部分的にtransactionで呼び出し側からTransactionを発行すると
こんな形の管理になるんでしょうか。 [呼び出し側]ASP.NET (1)トランザクション開始 (a)・ストアド(内部でトランザクション有り)を呼び出し (b)・ASP.NET内で別のSQLを実行 (2)トランザクション終了処理 (a)(b)どちらかでエラーになったときRollBack ・・・RollBackされても既に(a)がCommitされている場合は (a)についてはRollBackされない |
1