問題タブ [isolation-level]
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.
java - app srvIsolationレベルがREADCOMMITTEDに設定されている場合、OptimisticLockExceptionが発生する可能性がありますか?
Websphereアプリケーションサーバー7.0.0.0.9を;OpenJPA1.2.3-SNAPSHOT'で使用しています。jdbcデータソースwebSphereDefaultIsolationLevel=2(READ COMMITTED)のSetプロパティがあります。複数のスレッドで同じ行をコミットする競合がある場合にOptimasticLockExceptionが発生することを理解しているため、この質問があります。ただし、分離レベルのアプリサーバーがREAD COMMITTEDに設定されている場合、このような状況は発生しないと思います。
これは私が得ている例外です。
linq-to-sql - LINQ + TransactionScopeは、SQLServerプロファイラーの分離レベルを変更しません
linqを使用してデータベースに変更をコミットするために、次の形式を使用しています。
しかし、SQL Serverプロファイラーでは、Connection:Startに次の行が表示されます。
私はこれ(http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/93a45026-0425-4d49-a4ac-1b882e90e6d5)を調べて、答えがあると思いました。
Microsoft Connectでこれ(https://connect.microsoft.com/VisualStudio/feedback/details/565441/transactionscope-linq-to-sql?wa=wsignin1.0)を見るまでは。
誰かが私のコードが実際にシリアル化された分離レベルで実行されているのか、それとも実際に読み取りコミットで実行されているのかを教えてもらえますか?
c# - データが読み取られないようにするために使用する分離レベルはどれですか?
このような状況があります。
クエはこんな感じ。
(なんてクエリ:)
その後、その行のものを変更し、新しいIDで挿入します。
読み取りと挿入が完了するまで、他のクエリがqueryから最初の元の行を読み取らないようにしたい。その後、どうぞ。
基本的に、選択と挿入をトランザクションに入れ、挿入が完了するまでその行からの読み取りのみを防止する分離レベルを設定します。
OleDbTransaction
私はSQL Server 6.5を使用しているため、有効です(そうです、正しく読んでください。理由は聞かないでください:)
分離レベルの説明を掘り下げていましたが、それらを完全に理解できず、問題の解決策を見つけることができませんでした。私の質問は、どの分離レベルに使用するOleDbTransaction
かです。
私が明確だったことを願っています:)
ありがとう。
sql - 「コミットされた読み取り」と「反復可能な読み取り」の違い
上記の分離レベルは非常に似ていると思います。主な違いは何ですか?
java - コミット読み取りとファントム読み取り (Spring)
Read Committed 分離レベルが設定されていて、トランザクションでファントム読み取りが行われるとどうなりますか。ロールバックして再実行しますか、それとも単にロールバックしますか?
sql - How to set isolation level on SqlCommand/SqlConnection initialized with no transaction
The following method is supposed to peroform a dirty read on an open connection. There are no transactions. Where do I set IsolationLevel?
sql-server - 「トランザクションレベルの設定」にはトランザクションの開始が必要ですか?
MS SQL Serverで、ストアドプロシージャで「SETTRANSACTION ISOLATION LEVEL」を使用する場合、selectステートメントをBEGIN / END TRANSACTIONブロックでラップする必要がありますか?以下は期待通りに動作しますか?
mysql - 同じテーブルを 2 回ロックする
SELECT...FOR UPDATE
クエリを使用してテーブルをロックしています。残念ながら、次のように、同じテーブル内の 2 つの異なる行セットをロックする必要がある状況があります。
両方の行セットをロックする必要があります。私がやっていることは、テーブル内のオブジェクトが特定の状態にないことを確認してから、その状態にすることができる他のオブジェクトを見つけてそこに置くことです。目標は、mysql にエンコードするには複雑すぎる特定の制約を満たすことです。
では...問題は、SELECT...FOR UPDATE
同じトランザクション内で同じテーブルから 2 回アクセスするとどうなるかということです。最初のロックは解除されますか? これが事実であるという証拠を見てきましたが、確認する方法がよくわかりません。
nhibernate - トランザクションレベルを変更するNHibernate Interceptor
正常に動作している単体テストに SQLite を使用しようとしていますが、一部のリポジトリをテストすることは、トランザクションを使用するため問題があります。
ReadCommitted を使用するトランザクションの場合はすべて問題ありませんが、そのうちのいくつかは、System.Data.SQLite を見てサポートされていない ReadUncommitted を使用します。
Session.BeginTransaction(...) をインターセプトして、単体テストの場合にのみトランザクション レベルを変更できるかどうか疑問に思っています。
更新: 私の解決策は、System.Data.SQLite のソースコードをダウンロードし、例外を変更してデフォルトの分離レベルを設定することでした。私はここでそれについてブログを書きました:
http://www.philliphaydon.com/2011/01/system-data-sqlite-isolationlevel-exception/
tsql - SQL Serverのトランザクション分離レベルを設定解除/リセットするにはどうすればよいですか?
トランザクションやSQLServerの動作について誤解しているかもしれませんが、次のT-SQLを検討してください。
たぶんそれは問題ではないかもしれませんが、私がやっていることをやった後は、物事をそのままにしておくという温かいファジーな感じが好きです。以前の状態に関係なく、分離レベルを元の状態にリセットすることは可能ですか?