Oprava: Ovladač Microsoft ODBC for Oracle není úspěšné na kurzoru klienta s Embedded závorka

Překlady článku Překlady článku
ID článku: 292604 - 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.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Použijte kurzor na straně klienta proti Oracle je databáze s ovladač Microsoft ODBC for Oracle odložené aktualizace úspěšná a zobrazí následující chybová zpráva:
0x80004005 (nedostatečné základní tabulky informace pro aktualizaci nebo obnovení")
K tomu dochází, pokud příkaz SELECT obsahuje klauzuli WHERE, která má vložený závorka. Problém nastane, pouze s kurzor na straně klienta při kritéria v klauzuli WHERE sady záznamů umístit v závorkách a kritéria řetězec obsahuje závorky.

Příčina

Klientský kurzorový stroj ActiveX Data Objects (ADO) není úspěšně analyzovat příkazu a sadu záznamů nelze aktualizovat.

Řešení

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro Microsoft MDAC 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
Anglická verze této opravy má následující atributy souborů (nebo novější). 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 ovládacím panelu Datum a čas.
   Date         Version       Size     File name     Platform
   ----------------------------------------------------------------
   03-07-2001   2.53.7307     327,952  Msadce.dll    x86
				

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 aktualizaci Microsoft MDAC 2.5 Service Pack 3.

Další informace

Problém nenastává u Microsoft OLE DB pro Oracle (MSDAORA) zprostředkovatele.

Kroky pro reprodukci tohoto chování

  1. Vytvořit nový Microsoft Visual Basic 6.0 standardní EXE projektu. Ve výchozím nastavení je vytvořen Form1.
  2. V nabídce projekt klepněte odkazy a přidat odkaz Microsoft ActiveX Data Objects 2.5 knihovny.
  3. Vložte následující kód v události Form_Load Form1:
    
    
      Dim con As ADODB.Connection
      Dim rst As ADODB.Recordset
      
      Set con = New ADODB.Connection
      With con
        .CursorLocation = adUseClient
        .ConnectionString = "Provider=MSDASQL.1;UID=MyUser;PWD=MyPwd;DRIVER={Microsoft ODBC for Oracle};SERVER=MyServer;"
        .Open
      End With
      
      Set rst = New ADODB.Recordset
      With rst
        .ActiveConnection = con
        .CursorLocation = adUseClient
        .CursorType = adOpenStatic
        .LockType = adLockOptimistic
        'This one fails!
        .Source = "SELECT MyKey,UpdateVal,LookUpVal FROM UpdateTest WHERE (LookUpVal = 'Test2(Test2')"
        'This one works!
            '.Source = "SELECT MyKey,UpdateVal,LookUpVal FROM UpdateTest where LookUpVal='Test1'"
        .Open
      End With
      
      rst.Fields(1).Value = 200
      rst.Update
    					
  4. Změňte řetězec připojení připojit k vaší Oracle server.
  5. Vytvořit tabulku UpdateTest s MyKey (primární klíč), UpdateVal a LookUpVal.
  6. Dva řádky přidejte následujícím způsobem:
    • První záznam obsahuje LookUpVal = Test2(Test2
    • Druhý záznam obsahuje LookUpVal = Test1

  7. Zahájení projektu.

Vlastnosti

ID článku: 292604 - Poslední aktualizace: 28. února 2014 - Revize: 3.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Data Access Components 2.5 Service Pack 1
  • Microsoft Data Access Components 2.5 Service Pack 2
Klíčová slova: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbmdac250sp3fix kbbug kbfix kboracle kbwin2000sp3fix KB292604 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:292604

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