2009-07-13 11 views
2

Ich versuche, eine gespeicherte Prozedur von meinem .NET-Code aufzurufen, der einen Ausgabeparameter hat..NET READPAST Sperrfehler beim Aufrufen einer gespeicherten Prozedur

Es ist alles Standard ADO.NET Sachen mit SqlCommand, SqlParameter und so weiter. Aber ich bekomme den Fehler unten, obwohl meine Transaktionsebene READ COMMITTED ist.

Sie können die READPAST-Sperre nur in den Isolationsstufen READ COMMITTED oder REPEATABLE READ angeben. Nicht verbindbare Transaktion wird am Ende des Stapels erkannt. Die Transaktion wird zurückgesetzt. Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo

Antwort

3

Geben Sie NOLOCK mit dem ReadPast Hinweis? Wenn ja, wird es nicht funktionieren.

Warum verwenden Sie READPAST an erster Stelle (oder NOLOCK, wenn Sie es verwenden)?

+0

Ich hatte noch nie von ReadPast gehört! Und wenn ich mir meine Transaktionsoptionen anschaue, setze ich nur die Isolationsstufe auf ReadCommited und die Zeitüberschreitung. Wenn ich eine SQL-Ablaufverfolgung ausführen, gibt es keine Sperrhinweise oder irgendetwas! – AJM

2

Was Sam angeht ist, dass es nicht dein .NET Code ist, der die Schuld hat - es ist die gespeicherte Prozedur, die du anrufst. Suchen Sie im SP nach dem READPAST-Hinweis.

+0

Gut gemacht, mein SP nannte einen anderen SP, der diesen Hinweis benutzte. Prost – AJM

+0

Danke, aber mein Grund für Sams Namen ist, dass es Sams Idee war. –

+0

notiert ............... – AJM

Verwandte Themen