2009-07-13 4 views
2

1つの出力パラメータを持つ.NETコードからストアドプロシージャを呼び出そうとしています。ストアドプロシージャを呼び出すときの.NET READPASTロックエラー

SqlCommand、SqlParameterなどを使用するすべての標準ADO.NETのものです。しかし、トランザクションレベルがREAD COMMITTEDであっても、私は以下のエラーが発生します。

READPASTロックはREAD COMMITTEDまたはREPEATABLE READ分離レベルでのみ指定できます。 バッチの最後に、コミット不能なトランザクションが検出されます。トランザクションはロールバックされます。 説明:現在のWeb要求の実行中に、未処理の例外が発生しました。

答えて

3

READPASTヒントでNOLOCKを指定していますか?もしそうなら、それはうまくいかないでしょう。

なぜREADPASTを最初に使用していますか(使用している場合はNOLOCK)。

+0

ReadPastについて聞いたことがない!そして、トランザクションオプションを見ると、私がやっているのは、分離レベルをReadCommitedとタイムアウトに設定することです。 SQLトレースを実行すると、ロックヒントなど何もありません。 – AJM

2

Samの考えは、あなたの.NETコードが間違っているということではありません。あなたが呼んでいるストアドプロシージャです。 READPASTヒントの使用については、SPを参照してください。

+0

まあ、私のSPはこのヒントを使用した別のSPを呼び出しました。乾杯。 – AJM

+0

ありがとうございましたが、サムの名前に言及する理由は、それがサムのアイデアだということです。 –

+0

が記載されています............... – AJM

関連する問題