Oprava: Při zavření ADO Recordset v aplikaci s více podprocesy dochází porušení

Překlady článku Překlady článku
ID článku: 272373 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Při spuštění s více podprocesy kód ActiveX Data Objects (ADO) pod vysoké zátěžové na víceprocesorovém narušení přístupu (AV) může dojít při uzavření ADO Recordset. Kontrolu zásobníku volání v době AV (s příslušnou ladění symboly nainstalována) odhalí, že je poslední volání ADO v zásobníku volání vnitřní funkce msado15 ADO! CCollectionArray__Delete.

Řešení

Tento problém je vyřešen v nejnovější aktualizace service Pack pro systém Microsoft Windows 2000 a součásti MDAC 2.5 MDAC 2.6 a MDAC verze 2.7.
  • Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro systém Windows 2000. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
    260910Jak získat nejnovější aktualizaci Service Pack pro systém Windows 2000
  • Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro Microsoft Data Access Components 2.5. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
    293312INFORMACE: Jak získat nejnovější MDAC 2.5 Service Pack
  • Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro Microsoft Data Access Components 2.6. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
    300635INFORMACE: Jak získat nejnovější MDAC 2.6 Service Pack

Oprava hotfix

Anglická verze této opravy mají následující atributy souborů nebo novější:
   Date         Version       Size      File name     Platform
   -----------------------------------------------------------
   09/15/2000   2.51.5715.0   487,696   Msado15.dll   x86 
				

Jak potíže obejít

Zabránit zavření ADO Recordset a jeho nadřazený objekt připojení ADO současně přesně na 2 různých podprocesů nebo použít tuto opravu hotfix.

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 v Microsoft Data Access Components (MDAC) 2.5 Service Pack 2, MDAC 2.6 Service Pack 1, MDAC 2.7 a Windows 2000 Service Pack 2.

Další informace

Problém reprodukovat, ADO Recordset a jeho nadřazeným ADO připojení musí být uzavřen nebo vydána na 2 různých podprocesů přesně současně. Všimněte si, že tento problém má pouze byla úspěšně reprodukována v počítači s více procesory.

Byl zjištěn problém počáteční pomocí třídy Java ADO Windows Foundation Classes (WFC) v aplikaci COM + pod Tučná zátěžové s ADO nastavit free-threaded režimu. Microsoft virtual machine (Microsoft VM) defers vydání objekty COM, dokud je aktivován kolekcí uvolnění paměti. Uvolnění paměti kolekcí také provádí uvolnění objektu COM podprocesem na pozadí. Pokud zavřete WFC ADO připojení to umístí ukazatel rozhraní ADO připojení COM do seznamu ukazatelů budoucí Vyčištění podle kolekcí uvolnění paměti. Pokud kód hlavní aplikace následně zavře ADO Recordset současně přesně podproces pozadí nesmyslné kolekcí uvolní jeho ukazatele rozhraní ADO připojení nadřazené, může dojít AV.

Vlastnosti

ID článku: 272373 - Poslední aktualizace: 7. dubna 2006 - Revize: 8.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.5 Service Pack 1
  • Microsoft Data Access Components 2.6
Klíčová slova: 
kbmt kbqfe kbhotfixserver kbbug kbfix kbmdac250sp2fix kbmdac260sp1fix KB272373 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:272373

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