2012-02-27 3 views
0

どのようにADO.NET手動トランザクションを使用して2つのデータベース(同じサーバー上)のレコードを削除できますか?ASP.NET 1.1トランザクション2つのデータベースにまたがる

私はこれに出くわした:

TransactionScope in .NET 1.1

しかし、まだ、可能な場合、.NET 1.1手動トランザクションを使用したいと思います。

+2

すべてのコードをコピーしましたか?そのクラスには明らかにDispose()実装があります。 – Joe

+0

よく目に入ったJoe(+1)、私は先に進み、残りの部分をコーディングします。その間、最初のスニペットのようにトランザクションを管理することは間違いありませんか? http://msdn.microsoft.com/en-us/library/ms973865.aspx – IrishChieftain

+2

ASP.NET 1.1 - >うわー、理由はわからないけど、2012年にはCOMよりも悪いと思う:-)私は本当にそれを取得しないでください。企業における建築設計の決定を担当する担当者は誰ですか?彼らはどんな人ですか?彼らは基本的なプログラミング文化を持っていますか?どのように彼らはそのような位置に巻き込まれましたか? –

答えて

1

私は1.1を見てから、しばらくお待ちください。 AD.netのトランザクションは接続に関連付けられているため、1つの手動トランザクションでこれを行うのは実際には良い方法ではありません。私は自分のクロスデータベースtxn管理クラスを書くことを覚えています。そこでは、実行コマンドが基本的にそれに登録され、自分自身でtxnsを追跡します。私自身のTransactionScopeや作業単位の種類。 「完全な」メソッドが呼び出された場合、何かが間違っているか、最後にすべてをコミットすると、それらのすべてをロールバックします。

この記事のメソッドは、DTCを呼び出す以外に優れているようです(あなたが望む限りは問題ありません)。私はこれを行うより良い方法はないと思います。

+0

DTCを呼び出す意味は何ですか? – IrishChieftain

+0

まあ、ちょうどあなたがDTCをセットアップし、マシン上で適切に設定していることです。これは大きな問題ではありませんが、大規模なインストールに適している人がいることが知られています。確かに、私はMSDTCによってどのようなパフォーマンスのオーバーヘッドが割り当てられているか分かりませんが、トランザクションを調整する外部サービスであり、エンタープライズ分散トランザクションを調整するためのものです。おそらくパイルドライバーで釘を打っているでしょう。 – swannee

+0

(+1)回答ありがとうございます。 – IrishChieftain

関連する問題