FIX: Driver Microsoft ODBC per Oracle non riusciti su client CURSOR con parentesi Embedded

Traduzione articoli Traduzione articoli
Identificativo articolo: 292604 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato archiviato. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Quando si utilizza un cursore sul lato client, rispetto a Oracle database con il Driver Microsoft ODBC per Oracle, un aggiornamento differito non viene completata e viene visualizzato il seguente messaggio di errore:
0 x 80004005 ("tabella di base insufficiente informazioni per l'aggiornamento o l'aggiornamento")
Questo problema si verifica quando l'istruzione SQL SELECT include una clausola WHERE contenente una parentesi quadra incorporata. Il problema si verifica con un cursore sul lato client solo quando i criteri in inserito la clausola WHERE del recordset in parentesi e i criteri di stringa contiene parentesi quadre.

Cause

ActiveX Data Objects (ADO) Client Cursor Engine non analizza correttamente l'istruzione e non può aggiornare il recordset.

Risoluzione

Per risolvere il problema, ottenere il service pack più recente per Microsoft MDAC 2.5. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
293312INFORMAZIONI: Come ottenere il più recente MDAC 2.5 Service Pack
La versione in lingua inglese di questa correzione presenta gli attributi di file elencati nella tabella seguente (o successivi). Date e ore per questi file sono indicati nella coordinated universal time (UTC). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
   Date         Version       Size     File name     Platform
   ----------------------------------------------------------------
   03-07-2001   2.53.7307     327,952  Msadce.dll    x86
				

Status

Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo. Questo problema è stato innanzitutto corretto in Microsoft MDAC 2.5 Service Pack 3.

Informazioni

Il problema non si verifica con la Microsoft OLE DB provider per Oracle (MSDAORA).

Procedura per riprodurre il problema.

  1. Creare un nuovo EXE standard di Microsoft Visual Basic 6.0 progetto. Per impostazione predefinita, verrà creato Form1.
  2. Scegliere riferimenti dal menu progetto e quindi aggiungere un riferimento a Microsoft ActiveX Data Objects 2.5 Library.
  3. Incollare il codice riportato di seguito nell'evento Form_Load di 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. Modificare per connettersi a Oracle il la stringa di connessione server.
  5. Creare una tabella di UpdateTest con MiaChiave (chiave primaria) e UpdateVal LookUpVal.
  6. Aggiungere due righe come segue:
    • Primo record contiene LookUpVal = Test2(Test2
    • Secondo record contiene LookUpVal = Test1

  7. Avviare il progetto.

Proprietà

Identificativo articolo: 292604 - Ultima modifica: lunedì 24 febbraio 2014 - Revisione: 3.2
Le informazioni in questo articolo si applicano a:
  • Microsoft Data Access Components 2.5 Service Pack 1
  • Microsoft Data Access Components 2.5 Service Pack 2
Chiavi: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbmdac250sp3fix kbbug kbfix kboracle kbwin2000sp3fix KB292604 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 292604
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

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