FAQ なネタですが。
TransactionScope (System.Transactions 名前空間) を使う時には、MSDTC (Distributed Transaction Coordinator) を起動しておきましょう。
管理ツールのサービスを起動して開始します。
なんなら自動起動にしてしまいましょう。
こいつがデフォルトで停止になっています。
それを忘れて、トランザクションでSqlExceptionが出た時しばらく悩みました。
(例外のメッセージをちゃんと読みましょう>自分)
とはいえ、これだけのために DTC なんてのを動かしておきたくないということもありそう。
そもそもその辺の理由でデフォルトでDTCがオフになってるんでしょうし。
そういう場合はやっぱり SqlTransaction を使うことになるんでしょうね。
MSさん的には TransactionScope を推奨しています。
それに TableAdapter を使うときには(たいてい使うんでしょうけど)、TransactionScope はトランザクション周りのコードを減らせて便利だし、ささっとコーディングをすまそうと思うと他の手が見つからないのも事実。
とはいえ、そうも行かない時もありそうだし、ちょっと実験してみます(今日はやらない /w)。
続きを読む "TransactionScopeとMSDTC" »
失って初めてわかりました、SQL Server 2005 Express Edition のありがたさ。
ちょっとした実験をしたい時なんかは、ユーザーインスタンスはありがたいんですよね。
Visual Studioのソリューションエクスプローラに mdf ファイルをドロップするだけで接続周りはできてしまうし。
おまけにデバッグを開始するたびにDBを初期状態に戻してくれるので作業の効率もいい。
現在使っているマシンが64ビットマシンなので、せっかくだからと64ビット版の Developer Edition をインストールしたら、お遊びが面倒になってしまいました(泣)
開発機には Express Edition がいいようです。
続きを読む "SQL Server 2005 Express Edition のありがたみ" »
MSDTCが止まっている状態でTransactionScopeは使えないため、代わりの方法を試してみました。
決してきれいな方法ではないです。
TableAdapterのPartialクラス定義を考慮すればもう少しマシになると思いますが、それでも無理矢理な感じは否めない。
やっぱり素直に TransactionScope を使いましょう。
続きを読む "TableAdapterで手動トランザクションを使う方法" »
Expression Blend のRCのダウンロードが始まっています。
http://www.microsoft.com/downloads/details.aspx?familyid=57E09AE4-61AC-4E4A-AEFE-93389925B1DA&displaylang=en
Orcas CTP が今ひとつな感じなので、Expression Blend はWPF理解の重要なツールです。
("Windows Presentation Foundation プログラミング" でも読んで、XAML ガリガリ書くのが一番勉強になるんでしょうけどヘビーなのは苦手です /w)
せっかくRCが公開されたわけだし、これを使ってみましょう。
続きを読む "Expression Blend RC" »