トランザクション処理って DB 接続を終了しても・・・

そういえば、トランザクションって DB を CloseConnection した後も生きてるんだっけ?

あるフレームワークを使って VB.NET の開発をしてるんだけど、DB を参照しかしない場合も、DB への OpenConnection 後で BeginTransaction が実行される。

まあ、DB を更新をした場合は、必ず CommitTransaction か RollbackTransaction 実行して処理を抜けるんだけど、参照しかしなかった場合はその処理を書いてなかった。
というのも、処理は全て try/catch/finally 文で囲まれていて、finally で DB への CloseConnection 処理を実行してるので「DB から切断するからトランザクションも終了するわな」とか思ってた(^^;
でも、実際には終わってなくて、次に BeginTransaction した時に、「トランザクションが開始されてます」のエラーになっちゃう。

いやあ、俺がまだこのフレームワークに慣れてないのと、他にちょっと疑わしい点があったので、結局そっちの的外れな方をいろいろ調べてて、今日の午前中を無駄に過ごしてしまった(^^;

しかし、DB から切断しても Transaction って生きてるものなのね(^^;(時間が経つとタイムアウトなのかなんなのか自動で死んじゃうみたいだけど)
これまで、ずっとそんなことは意識せず生きてきたわ。
てか、自分でフルスクラッチでプログラム作る時は、参照だけの時にもトランザクションを実行するなんてことないからな(^^;

やっぱ、たまに他社のプロジェクトに入ると色々勉強になるなあ(^^;

トラックバック(0)

このブログ記事を参照しているブログ一覧: トランザクション処理って DB 接続を終了しても・・・

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/3092

コメントする

このブログ記事について

このページは、shinodaが2014年9月 4日 08:28に書いたブログ記事です。

ひとつ前のブログ記事は「「でんすけ」は予想に反して小綺麗なおでん屋であった」です。

次のブログ記事は「VB.NET の日付のマッチング」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら