Teď jste offline a čekáte, až se znova připojí internet.

Oprava: Objekt OdbcConnection nehlásí chybu při zadání úroveň izolace transakcí, který není podporován ve zdroji dat v rozhraní .NET Framework 2.0

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:917752
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Příznaky
Zvažte následující scénář. Zprostředkovatele dat Microsoft .NET Framework pro ODBC v rozhraní .NET Framework 2.0 slouží k připojení ke zdroji dat v aplikaci. Chcete-li transakci spustit potom použijete metodu BeginTransactionOdbcConnection objektu. Je-li zadat úroveň izolace transakcí, který není podporován ve zdroji dat pro transakci. V tomto případě výjimka OdbcException se nevyskytuje podle očekávání. Výjimka se však dochází očekávaným způsobem při použití rozhraní .NET Framework 1.1.
Příčina
K tomuto problému dochází, protože metody BeginTransaction nehlásí chyba ODBC (SQL_ERROR), SQLSetConnectAttr funkce vrátí. Autocommit režim je výchozí režim řízení transakcí pro zprostředkovatele dat .NET Framework pro ODBC. Zprostředkovatel dat Autocommit režimu pouze vypne, pokud je úroveň izolace transakcí nastavena správně. Proto pokud zadáte úroveň izolace nesprávné transakce, transakce nefunguje. Volání metody paměti nebo metody vrácení zpět, jsou platná. Metody paměti a metody vrácení zpět není zprávu Chyba ODBC (SQL_ERROR).
Řešení
Má nyní od společnosti Microsoft k dispozici podporovanou opravu hotfix. Že je však určena pouze problém popsaný v tomto článku. Použijte ji pouze v systémech, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud je přísně neohrožuje tento problém, doporučujeme abyste počkali další NET Framework 2.0 Service Pack obsahující tuto opravu hotfix.

Potřebujete-li odstranit tento problém okamžitě, obraťte se na technickou podporu společnosti Microsoft, kde můžete tuto opravu hotfix získat. Úplný seznam telefonních čísel služeb technické podpory společnosti Microsoft a informace o cenách podpory naleznete na následujícím webu společnosti Microsoft:Poznámka: Ve zvláštních případech mohou být poplatky za poskytnutí telefonické podpory účtovány stornovány, jestliže pracovník technické podpory společnosti Microsoft určí, že konkrétní aktualizace vyřeší váš problém. Výdaje na podporu se obvykle týkají dalších otázek a problémů, které se netýkají této zvláštní opravy.

Požadavky

Chcete-li nainstalovat tuto opravu hotfix, musíte mít podpůrné soubory, které jsou popsány v následujícím článku znalostní báze Microsoft Knowledge Base v počítači nainstalována aplikace Microsoft:
916002Oprava: Chybová zpráva použití třídy SqlClient v aplikaci sady ADO.NET 2.0 se připojit k instanci serveru SQL Server 2005: "nový požadavek nemá povoleno spustit, protože by součástí transakce platný popisovač"

Požadavek na restartování

Není nutné po instalaci této opravy hotfix restartovat počítač.

Informace o registru

Nemáte změna registru.

Informace o souboru opravy hotfix

Tato oprava hotfix obsahuje pouze soubory, které jsou nutné k opravě problémů uvedených v tomto článku. Tato oprava hotfix nemusí obsahovat všechny soubory, které jsou nutné k plné aktualizaci produktu na nejnovější verzi.Anglická verze této opravy hotfix má atributy souborů (nebo vyšší atributy souborů), jsou uvedeny v následující tabulce. Data a časy těchto souborů jsou uvedeny v koordinovaný světový čas (UTC). Při zobrazení informací o souboru, bude převedena na na místní čas. Rozdíl mezi místním časem a UTC časem kartě časové pásmo v položce Datum a čas v Ovládacích panelech.

32Bitové verze rozhraní .NET framework 2.0

Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Mscordacwks.dll2.0.50727.158800,76824. Května 200614: 59x 86
Mscorlib.dll2.0.50727.1584,317,18424. Května 200614: 59x 86
Mscorwks.dll2.0.50727.1585,623,29624. Května 200614: 59x 86
Sos.dll2.0.50727.158377,34424. Května 200614: 59x 86
System.data.dll2.0.50727.1582,893,82424. Května 200614: 59x 86

Verze 2.0 x 64 systému .NET framework

Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Mscordacwks.dll2.0.50727.1581,597,44024. Května 200606: 09.x 64
Mscorlib.dll2.0.50727.1583,956,73624. Května 200611: 25x 64
Mscorwks.dll2.0.50727.15810,306,04824. Května 200606: 05x 64
Sos.dll2.0.50727.158476,16024. Května 200606: 15x 64
System.data.dll2.0.50727.1582,959,87224. Května 200611: 25x 64

Architektura verze rozhraní .NET framework 2.0 Itanium

Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Mscordacwks.dll2.0.50727.1582,710,01624. Května 200606: 14IA-64
Mscorlib.dll2.0.50727.1583,956,73624. Května 200612: 03IA-64
Mscorwks.dll2.0.50727.15821,260,28824. Května 200606: 11IA-64
Sos.dll2.0.50727.158857,08824. Května 200606: 22IA-64
System.data.dll2.0.50727.1583,102,20824. Května 200612: 03IA-64
Jak potíže obejít
Chcete-li tento problém vyřešit, zkontrolujte, že je úroveň izolace transakce správné. Kód můžete přidat do aplikace a ověřte, zda je správná úroveň transakce, aby vyvoláním výjimky ve vašem kódu.
Prohlášení
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části „ platí.
Další informace
Další informace o pojmenování schématu pro Microsoft SQL Server aktualizace získáte následujícím článku báze Microsoft Knowledge Base:
822499Nové schéma přidělování názvů balíčkům aktualizací softwaru Microsoft SQL Server

Další informace o terminologii aktualizace softwaru naleznete následující článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané k popisu aktualizací softwaru společnosti Microsoft
Další informace
Tento problém mohou způsobit poškození dat, protože vrácení zpět metodu nelze použít. Například můžete nastavit úroveň nesprávné transakce. Vrácení dojít, jestliže dojde k poškození dat očekáváte. Avšak vrácení zpět nespustí. Protože metoda paměti nehlásí došlo k chybě, poškození dat může dojít, protože se data pravděpodobně potvrzené podle očekávání.

Kroky pro reprodukci problému

  1. Vytvořit datový soubor aplikace Microsoft Access (MDB) a pak vytvořte tabulku, která obsahuje dva sloupce. Předpokládejme, že data je uložený ve složce d:\db1.mdb a je T1 název tabulky. Předpokládejme, že dva sloupce jsou pojmenovány C1 a C2.
  2. Vložit některé záznamy do tabulky T1.
  3. Vytvořit projekt jazyka C# pomocí aplikace Microsoft Visual Studio 2005 a vložte následující kód do metody.
    string cnstr = @"Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\db1.mdb;UID=Admin;PWD=;"OdbcConnection cn = new OdbcConnection(cnstr);cn.Open();System.Diagnostics.Debug.WriteLine("connected.");try{OdbcTransaction trn = cn.BeginTransaction(IsolationLevel.ReadUncommitted);OdbcCommand cmd = new OdbcCommand("select * from T1", C1, C2);OdbcDataReader dr;dr = cmd.ExecuteReader();while (dr.Read()){System.Diagnostics.Debug.WriteLine(dr[1].ToString());}dr.Close();trn.Commit();}catch (OdbcException odbcex){System.Diagnostics.Debug.WriteLine(odbcex.Message);System.Diagnostics.Debug.WriteLine(odbcex.StackTrace);}cn.Close();cn = null;
  4. Spusťte aplikaci a ujistěte se, že volaná metoda.
Po dokončení těchto kroků zjistíte, že dojde k žádné výjimky.

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 917752 - Poslední kontrola: 01/17/2015 14:13:47 - Revize: 3.3

Microsoft .NET Framework 2.0

  • kbnosurvey kbarchive kbmt kbprb kbtshoot kbexpertiseadvanced KB917752 KbMtcs
Váš názor