問題タブ [transactions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
2518 参照

sql - Web アプリケーションは明示的な SQL トランザクションを使用する必要がありますか?

SQL データベースに対して主にフォームベースの CRUD 操作を行う通常の Web アプリケーションを考えてみましょう。そのような Web アプリケーションでは明示的なトランザクション管理が必要ですか? それとも、単に自動コミット モードを使用する必要がありますか? また、トランザクションを行う場合、「リクエストごとのトランザクション」で十分ですか?

0 投票する
1 に答える
315 参照

.net - IEditableObject.EndEditをアトミックにするにはどうすればよいですか?

IEditableObjectを実装するAddressクラスがある場合、次のようなEndEdit実装がある可能性があります。

_cityに例外がある場合は、_line1_line2、および場合によっては_cityを元に戻す必要があります。この問題はEndEditに限定されるものではなく、おそらく他の場所でも見られます。

0 投票する
2 に答える
1012 参照

.net - IEditableObject.EndEdit をアトミックにするにはどうすればよいですか?

IEditableObject を実装する Address オブジェクトがある場合、EndEdit の実装は次のようになります。

たとえば、 _stateの更新で例外が発生した場合は、5 つのプロパティすべてをリセットする必要があります。このアトミック アップデートの問題は、おそらく EndEdit に限定されたものではありません。

0 投票する
3 に答える
2715 参照

java - JDBC 接続が JTA 対応の DataSource から取得されたのか、それとも直接の JDBC から取得されたのかをどのように判断しますか?

ベンダー API を使用して、アプリケーションのデータベースへの JDBC 接続を取得しています。API は、アプリケーション サーバーで実行している場合、またはスタンドアロン モードで実行している場合に機能します。単一のトランザクションで一連の SQL ステートメントを実行したいと考えています。JTA トランザクションが存在する場合、そのコンテキストでそれらが発生しても問題ありません。ただし、そうでない場合は、JDBC トランザクション境界メソッドを使用する必要があります。(JTA トランザクションに参加している JDBC 接続でこれらのメソッドを呼び出すと、SQLException が発生します。)

そのため、Connection が JTA 対応の DataSource からのものなのか、それとも単なる JDBC 接続なのかを判断できる必要があります。

この決定を行う簡単な方法はありますか?

ありがとう!

0 投票する
4 に答える
4625 参照

.net - .NET TransactionScope クラスと T-SQL TRAN COMMIT および ROLLBACK

私は現在、自分のビジネス エンティティに対して複数の挿入、更新、および削除を必要とするアプリケーションを作成しています。すべてのストアド プロシージャが 1 つの作業単位としてコミットまたはロールバックできることを保証するために、TransactionScope クラスを使用しています。

私の質問は、.NET クラス ライブラリで TransactionScope クラスを使用している場合、COMMIT TRAN と ROLLBACK TRAN も使用する必要があるということです。

0 投票する
3 に答える
10811 参照

c# - LINQ to SQL と同時実行の問題

大量注文記録システムを構築しようとしています。次の 3 つのプライマリ テーブルがあります。 1. Orders 2. OrderDetails 3. OrderShipment

Shipment テーブルには、注文ごとに n レコードが含まれており、レコードの出荷エントリは、顧客が注文を受け入れる前に変更でき、その後は凍結されます。(ビジネス要件)

これは実際のシナリオでは発生しない可能性がありますが、負荷テスト中に System.Data.Linq.ChangeConflictException 例外が発生しています。送信をトランザクション内にラップすることも役に立ちません。更新操作の全期間にわたって LINQ に強制的に行をロックさせることはできませんか?

これを乗り越える他の方法はありますか?

0 投票する
3 に答える
9718 参照

oracle - Oracle - トランザクション、ロールバック セグメント、および undo_retention パラメータはどのように機能しますか?

私は DBA ではないので、Oracle のトランザクション管理プロセスを理解するのに少し苦労しています。

インターネット上の信頼できるように見えるページを読んで理解したところ (最も顕著なのはこのAskTom ノートですが、コメントは気にしないでください)、トランザクションがコミットされたとき、新しいデータは実際のデータ ブロックでまだ報告されていませんが、ロールバック セグメントに記録されたままになります。誰かがデータに対して SELECT を発行したとき、または UNDO_RETENTION 秒が経過したとき (これら 2 つのイベントのいずれかが最初に発生した方)、新しいデータがデータ ブロックに書き込まれます。

しかし、おそらく知っていると思われる当社の誰かが最近私に反対のことを言いまし. UNDO_RETENTION 秒の期間。この古いデータは、トランザクションの前に SCN で起動されたクエリによるアクセスのために、この間利用可能のままです。

では、オラクル内部で実際に何が起こっているのでしょうか?回答をバックアップするための参照を提供できますか?

Oracle 9.2.0.8 を使用しています。

前もって感謝します。

0 投票する
2 に答える
1616 参照

.net - .Net での Web サービス呼び出しによる SQL トランザクションの維持

新しいレコードを作成し、同じデータベースを操作するデータベースから返された新しいレコード ID を使用して Web サービスを呼び出すデータベース トランザクションを実行するにはどうすればよいですか? もちろん、すべてのテーブルを同じ SQLConnection オブジェクトから直接更新することもできますが、Web サービス呼び出し内のロジックは変更される可能性があるため、コードで行った変更が、呼び出された Web サービスによって導入された変更と共に確実にコミットされるようにする必要があります。

0 投票する
1 に答える
1348 参照

c# - アボートが呼び出された後、MSDTC および Oracle トランザクションがロックされますか?

MSDTC と Oracle を使用して問題が発生しています。これは .net アプリケーションであり、TransactionScope クラスを使用してトランザクションを制御しています。

問題は、トランザクションがロールバックされた場合 (scope.Complete を呼び出さずに scope.Dispose が呼び出された場合)、ロックされたレコードを解放せずに長時間「中止」状態のままになることがあります。トランザクションが "Aborting" 状態のままであっても、トランザクションを中止するために Dispose が呼び出されると、すぐに戻るため、スレッドがスタックすることはありません。

トランザクションがこのように動作し、中止が呼び出された後にロックを保持する原因を知っている人はいますか?

ありがとう

0 投票する
9 に答える
112472 参照

c# - 「操作はトランザクションの状態に対して無効です」エラーとトランザクションスコープ

SELECTステートメントを含むストアドプロシージャを呼び出そうとすると、次のエラーが発生します。

操作はトランザクションの状態に対して無効です

これが私の呼び出しの構造です:

トランザクション内で同じデータベースへの別の接続を作成することに問題がありますか?