Düzeltme: ADO Recordset, sıraya, süzgeç özellik kaybettiğinde-Proc

Ö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:264442
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Belirtiler
Bağlantısı kesilmiş bir ADO Recordset, iki COM nesneleri, aynı COM + uygulamasının arasında geçirdiğinizde, Filter özelliği gibi Recordset ' in belirli bir genişletilmiş özellikleri kaybolur. Microsoft Windows NT 4. 0'daki bir Microsoft Transaction Server (MTS) paketindeki benzer bir yapılandırmada, genişletilmiş özellikler kaybolmaz.
Neden
COM + işlem içi, ADO Recordset, iki COM nesneleri arasında geçirilmesi, sıralanırken şimdi gerçekleştirir. Işlemdeki sıralanırken gerçekleştirirken, ADO Recordset ' in bir kopyası eşdeğeri oluşturur, varolan ADO Recordset sıralanırken yerine, işaretçiyi arabirim. Bu Süzgeç özellik gibi genişletilmiş özellikler kaybına neden olur. Aynı kaybına genişletilmiş özellikler, ADO Recordset, bir kopya oluşturduğunuzda veya bir bağlantısı kesilmiş ADO Recordset alınmış işlem dışı geçmesi, ancak bu belirli servis taleplerini tasarım gereği olan oluşur.
Çözüm
Bu sorun en son hizmet paketleri Windows 2000 ve MDAC 2.5 düzeltildi.
  • Bu sorunu gidermek için, en son Windows 2000 hizmet paketini edinin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    260910En son Windows 2000 hizmet paketi nasıl elde edilir
  • Bu sorunu gidermek için <a0></a0>, Microsoft Data Access Components 2.5 için en son hizmet paketini edinin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    293312BILGI: son MDAC 2.5 nasıl elde edilir hizmet paketi
Bu düzeltmenin İngilizce sürümünde aşağıdaki dosya öznitelikleri veya üstü bulunur:
   Date         Time    Version       Size      File name    Platform   ------------------------------------------------------------------   05/23/2000   22:22   2.51.5629.0   327,952   Msadce.dll   x86    05/23/2000   22:19   2.51.5629.0   487,696   Msado15.dll  x86 				
Durum
Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır. Bu sorun ilk olarak olan Service Pack 2, MDAC sürüm 2.6 ve Microsoft Windows 2000 Service Pack 2, Microsoft Data Access Components (MDAC) sürüm 2.5 de düzeltilmiştir.
Daha fazla bilgi
COM + Nesne gibi ADO Recordset, aynı COM + uygulamasını, iki COM nesneleri arasında geçirildiğinde nesnenin işlem içinde düzenlenen yerine sıralanırken olmadan, yalnızca bir arabirim işaretçisi geçildi. Arayanın ve Aranan COM nesnelerinin aynı işlem, iş parçacığı ve COM apartman bile, bu COM + oluşur. COM + nesnenin iki COM nesneleri arasında sıralama girişiminde bulunduğunda, geçirilen nesnesinden IMarshal arabirim için sorgular. Geçirilen nesne IMarshal arabirim dönerse, COM + bu arabirimi MSHCTX_INPROC bayrağını kullanarak IMarshal::MarshalInterface çaðýrarak işlemdeki nesne sıralamakta kullanır.

Bu düzeltmeyi uygulamadan önce bağlantısı kesilen bir ADO Recordset, tüm genişletilmiş özellikleri süzgeci gibi Recordset kopyalamaz Recordset, bir kopya eşdeğeri oluşturarak, iþlem içi sıralanırken uygular. Bu nedenle, ADO Recordset, iki COM nesnesi COM + arasında geçirirseniz, bu süzgeci gibi genişletilmiş özellikler kaybolur.

ADO düzeltmeyi uyguladıktan sonra iþlem içi boş akıtılan sıralayıcısı (FTM), bir arabirim işaretçisi Aranan çağırana gelen özgün nesneye geçirilmesi için eşdeğer olduğu kullanarak sıralanırken gerçekleştirir. FTM kullanarak ADO verimli bir şekilde ADO Recordset içinde COM + çağrılamadı ve tüm genişletilmiş özelliklerini güncelleştirin.

AdUseServer için CursorLocation özelliği ayarlanmış olan bir bağlı ADO Recordset geçirirseniz, bu Recordset iki COM nesnesi COM + uygulamasındaki arasında geçirilen, genişletilmiş özellikler kaybolur değil olduğunu unutmayın.
sıralanmış complus hareket sunucusu sıralama

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 264442 - Son İnceleme: 02/02/2014 18:35:42 - Düzeltme: 2.0

Microsoft ActiveX Data Objects 2.5

  • kbnosurvey kbarchive kbmt kbqfe kbhotfixserver kbado260fix kbbug kbfix kbmdac250sp2fix KB264442 KbMttr
Geri bildirim