Düzeltme: İş parçacığı iptal SqlCommand.ExecuteReader sırasında SqlConnection havuzu bozarsa.

Makale çevirileri Makale çevirileri
Makale numarası: 319345 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Belirtiler

Aşağıdaki koşullar doğruysa:
  • Birden çok iş parçacığı bir .NET uygulamasında SqlClient.SqlCommand.ExecuteReader yöntemi kullanan uzun süren bir sorguyu iptal edildi.
  • Iş parçacığı bundan sonra aynı bağlantı dizesini SqlClient.SqlCommand.ExecuteReader kullanarak veri okumaya çalışırken kullanın.
Aşağıdaki hata iletisini alıyorsunuz:
Iletisi: Yok zaten öncelikle kapatılması gereken bu bağlantısı ile ilişkili açık bir DataReader.
Çağrı yığını gibi görünebilir:
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()
					

Neden

DataReader nesnesiyle etkileşim kurduğunda iş parçacığı durduruldu, temizleme kodunu içeren SqlClient.SqlConnection.Close yöntemi olarak adlandırılır, çünkü bağlantı düzgün temizlenecek edemiyor. Bu bağlantı, bir belirsiz durumda bırakır ve sonuçta kullanılamaz bir duruma girmek bağlantı havuzu neden olur.

Çözüm

Bu sorunu gidermek için <a0></a0>, Microsoft .NET Framework için en son hizmet paketini edinin. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
318836En son .NET Framework hizmet paketi nasıl elde edilir
Bu düzeltmenin ingilizce sürümünde aşağıdaki dosya öznitelikleri olmalı veya daha yenisi:
   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
				

Durum

Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır. Bu sorun, ilk olarak Microsoft .NET'te düzeltilmiştir Framework Service Pack 2 (SP2).

Özellikler

Makale numarası: 319345 - Last Review: 10 Şubat 2014 Pazartesi - Gözden geçirme: 5.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ADO.NET 1.0
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kbfix kbnetframe100presp2fix kbnetframe100sp2fix KB319345 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:319345

Geri Bildirim Ver

 

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