Oprava: Přerušení podprocesu během SqlCommand.ExecuteReader poškodí fond SqlConnection

Překlady článku Překlady článku
ID článku: 319345 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Pokud jsou splněny následující podmínky:
  • Dlouhý spuštěn dotaz, který používá metodu SqlClient.SqlCommand.ExecuteReader s více podprocesy aplikace .NET přerušena.
  • Podprocesy poté použít stejný řetězec připojení k pokusu o čtení dat pomocí SqlClient.SqlCommand.ExecuteReader.
Zobrazí se následující chybová zpráva:
System.InvalidOperationException: Nenachází již otevřený objekt DataReader spojené s toto připojení, které musí být nejprve zavřen.
Zásobník volání může vypadat takto:
at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean executing)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
   at System.Data.SqlClient.SqlCommand.ExecuteReader()
					

Příčina

Při přerušena podproces, který pracuje s objektem objektu DataReader připojení nemůže být vyčištěn správně protože není volána metoda SqlClient.SqlConnection.Close obsahující kód vyčištění. To ponechá připojení neurčitý stav a nakonec způsobí fondu připojení zadejte nepoužitelný stavu.

Řešení

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro rozhraní Microsoft .NET Framework. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
318836Jak získat nejnovější aktualizaci Service Pack pro rozhraní .NET Framework (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
Anglická verze této opravy má následující atributy souborů nebo novější:
   Date            Version                                 Size              File name     
   --------------------------------------------------------------------
   05-Mar-2002     1.0.3705.211    1,175,552 bytes   System.data.dll
   29-Jan-2002                                  1,831,936 bytes   NDP10U318609.msp
				

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny na začátku tohoto článku. Tento problém byl poprvé opraven aktualizací Microsoft .NET Framework Service Pack 2 (SP2).

Vlastnosti

ID článku: 319345 - Poslední aktualizace: 5. února 2014 - Revize: 5.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ADO.NET 1.0
Klíčová slova: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kbfix kbnetframe100presp2fix kbnetframe100sp2fix KB319345 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:319345

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com