Oprava: Zprostředkovatele SQLOLEDB nesprávně ponechá transakce otevřené

Překlady článku Překlady článku
ID článku: 281633 - 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.
CHYBA Č: 58292 (SQLBUG_70)
CHYBA Č: 235846 (SHILOH)
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Systémem posloupnost příkazů zahrnující explicitní transakce a parametry aplikační program nesprávně pomocí zprostředkovatele SQLOLEDB ponechá nesvěřené transakce otevřené. To může způsobit závažné blokování a další problémy.

Příčina

Ačkoli možnost SET 'implicit_transactions je nastaven na OFF, je zprostředkovatele SQLOLEDB otevírání implicitní transakce.

Řešení

SOUČÁSTI MDAC 2.6

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:
300635Jak získat nejnovější aktualizaci MDAC 2.6 Service Pack

Oprava hotfix

Důležité: Před použitím této opravy hotfix musí být nainstalován Microsoft Data Access Components verze 2.6.

Anglická verze této opravy má následující atributy souborů nebo novější:
   Date       Time     Version     Size      File name      Platform
   -----------------------------------------------------------------
   11/22/00   8:43pm   8.00.0225   491,584   Sqloledb.dll   Intel
   11/22/00   8:43pm   8.00.0225    61,440   Sqloledb.rll   Intel
				
Poznámka: Splatné k závislosti souborů nejnovější opravy hotfix nebo funkce, která obsahuje soubory výše může také obsahovat další soubory.

Jak potíže obejít

Tento problém vyřešit, proveďte některou z následujících akcí:
  • Použít OLEDB Provider pro ODBC a nikoli SQLOLEDB zprostředkovatele.

    Nebo
  • Vložte další transakce kolem kód vytvoří problém.

Prohlášení

Společnost Microsoft potvrzuje, že se to být problém v Microsoft OLE DB Provider for SQL Server, který je součástí Data Access Components (MDAC) verze 2.1, 2.5 a 2.6.

SOUČÁSTI MDAC 2.6

Tento problém byl poprvé opraven v Microsoft Data Access Components 2.6 Service Pack 1.


SOUČÁSTI MDAC 2.5

Tento problém byl poprvé opraven v verze Sqlredis.exe, která je součástí Microsoft SQL Server 7.0 Service Pack 4.

Další informace

Prostřednictvím trasování aplikace můžete zobrazit v SQL Server Profiler, následující příkazy SQL Server posílá zprostředkovatele SQLOLEDB:
SET FMTONLY ON select ... SET FMTONLY OFF
set implicit_transactions off SET NO_BROWSETABLE OFF
				
tento příčiny typu implicit_transaction ' již otevřen.

Při použití OLEDB Provider pro ODBC a ovladače SQL Server namísto, přesně stejný kód jazyka/ADO odešle následující příkazy k serveru SQL:
set implicit_transactions off SET NO_BROWSETABLE OFF
SET FMTONLY ON select  ... SET FMTONLY OFF
				
tedy SELECT FMTONLY otevře implicitní transakce s SQLOLEDB. Však protože aplikace nikdy otevřen tuto transakci, aplikace bude normálně nikdy jej zavřít. Tato transakce budou uzavřeny pouze při příštím explicitní transakce.

Vlastnosti

ID článku: 281633 - Poslední aktualizace: 28. února 2014 - Revize: 6.4
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
Klíčová slova: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kbfix kbmdac260sp1fix kbqfe KB281633 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:281633

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