Oprava: OracleDataReader.GetChars metoda může vrátit nesprávná data 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.

922674
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
Microsoft .NET Framework 2.0 v OracleDataReader.GetChars metoda může vrátit nesprávná data podruhé číst data z objektu OracleDataReader. Po druhém, volat metodu OracleDataReader.Read čas OracleDataReader.GetChars metoda může vrátit data z prvního řádku.
Řešení

Informace o opravě hotfix

Společnost Microsoft nyní nabízí podporovanou opravu hotfix. Ta je však určena pouze k odstranění problému popsaného v tomto článku. Tuto opravu použijte pouze u systémů, ve kterých dochází k popsanému problému. Tato oprava hotfix může být dále testována. Proto pokud není použití tento problém, doporučujeme počkat na další aktualizaci service pack pro rozhraní .NET Framework 2.0, který obsahuje 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 podpory zákazníků společnosti a informace o cenách podpory naleznete na následujícím webu:Poznámka: Poplatky, které je třeba obvykle zaplatit za telefonní hovory, mohou být stornovány, jestliže pracovník technické podpory společnosti Microsoft zjistí, že oznámený problém lze vyřešit konkrétní aktualizací. Další dotazy a žádosti o odbornou pomoc, které se netýkají této zvláštní opravy, podléhají běžným sazbám za poskytnutí odborné pomoci.

Požadavky

Neexistují žádné požadavky.

Požadavek na restartování

Po instalaci této opravy hotfix bude třeba restartovat počítač.

Informace o nahrazení opravy hotfix

Tato oprava Hotfix nenahrazuje žádné další opravy Hotfix.

INFORMACE O SOUBORECH

Anglická verze této opravy hotfix má následující (nebo pozdější) atributy souborů. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Pokud zobrazíte informace o souboru, bude převedena na místní čas. Rozdíl mezi místním ČASEM a najít, použijte kartu časové pásmo v položce Datum a čas v ovládacím.
Název souboruVerze souboruVelikost souboruDatumČas
Mscordacwks.dll2.0.50727.178801,28008. Července 200611: 28
Mscorlib.dll2.0.50727.1784,317,18408. Července 200611: 28
Mscorwks.dll2.0.50727.1785,624,32008. Července 200611: 27
Normalization.dll2.0.50727.17815,36008. Července 200611: 28
Normidna.nlpNelze použít59,34208. Července 200611: 28
Normnfc.nlpNelze použít45,79408. Července 200611: 28
Normnfd.nlpNelze použít39,28408. Července 200611: 28
Normnfkc.nlpNelze použít66,38408. Července 200611: 28
Normnfkd.nlpNelze použít60,29408. Července 200611: 28
Sos.dll2.0.50727.178377,34408. Července 200611: 28
System.data.dll2.0.50727.1782,893,82408. Července 200611: 28
System.data.oracleclient.dll2.0.50727.178482,30408. Července 200611: 28
Prohlášení
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Další informace
Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft
Další informace o metodě OracleDataReader.GetChars na webu Microsoft Developer Network (MSDN):

Postup reprodukce problému

  1. Spustit Microsoft Visual Studio 2005.
  2. V nabídce soubor klepněte na příkaz Nový a klepněte na příkaz projekt.
  3. Klepněte na položku Visual C# klepněte Aplikace konzoly, zadejte v poli názevConsoleApplication1 a klepněte na tlačítko OK.
  4. V souboru Program.cs nahradit existující kód pomocí následující kód.
    using System;using System.Text;using System.Data;using System.Data.OracleClient;namespace ConsoleApplication1{    class Program    {        private static void Main()        {            OracleConnection cn = new OracleConnection("Data Source=<DataSourceName>;uid=<UserName>;pwd=<Password>;");            cn.Open();            DropTable(cn);            CreateTable(cn);            OracleCommand command = cn.CreateCommand();            command.CommandText = "SELECT DATA FROM TEST_GETCHARS ORDER BY DATA DESC";            OracleDataReader reader = command.ExecuteReader();            while (reader.Read())            {                string getStringText = reader.GetString(0);                char[] chs = new char[40];                long count = reader.GetChars(0, 0, chs, 0, 40);                String s = new String(chs);                Console.WriteLine("String from GetString: {2}, String from GetChars: {0}, Character count: {1}", s, count.ToString(), getStringText);            }            cn.Close();            cn = null;        }        private static void CreateTable(IDbConnection connection)        {            IDbCommand command = connection.CreateCommand();            command.CommandText = "CREATE TABLE TEST_GETCHARS (DATA varchar(40))";            command.ExecuteNonQuery();            command.CommandText = "INSERT INTO TEST_GETCHARS (DATA) VALUES('yes')";            command.ExecuteNonQuery();            command.CommandText = "INSERT INTO TEST_GETCHARS (DATA) VALUES('no')";            for (int i = 0; i < 2000; i++)            command.ExecuteNonQuery();        }        private static void DropTable(IDbConnection connection)        {            try            {                IDbCommand command = connection.CreateCommand();                command.CommandText = "DROP TABLE TEST_GETCHARS";                command.ExecuteNonQuery();            }            catch (Exception)            {            }        }    }}
  5. V Aplikaci Solution Explorer klepněte pravým tlačítkem myši odkazy a potom klepněte na tlačítko Přidat odkaz.
  6. Klepněte na kartu .NETSystem.data.OracleClient klepněte a potom klepněte na tlačítko OK.
  7. V nabídce Debug klepněte na tlačítko Start ladění.
OracleDataReader GetChars

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

Vlastnosti

ID článku: 922674 - Poslední kontrola: 01/17/2015 15:30:56 - Revize: 1.1

  • Microsoft .NET Framework 2.0
  • kbnosurvey kbarchive kbmt kbfix kbbug kbhotfixserver kbqfe kbpubtypekc KB922674 KbMtcs
Váš názor