FIX: Violazione di accesso in IDBProperties::GetProperties quando si utilizzano componenti di servizio OLE DB

Traduzione articoli Traduzione articoli
Identificativo articolo: 301679 - 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

Sintomi

Quando un'applicazione con multithreading utilizza i componenti di servizio OLE DB, se l'applicazione utilizza lo stesso puntatore interfaccia IDBProperties chiamare il metodo di IDBProperties::GetProperties contemporaneamente in due diversi thread, la chiamata a GetProperties potrebbe non riuscire con E_UNEXPECTED, o puoi ricevere una violazione di accesso.

Se si utilizza Microsoft Data Access Components (MDAC) 2.5 Service Pack 2 (SP2), si verifica una violazione di accesso. Se si utilizza MDAC 2.6 Service Pack 1, viene restituito E_UNEXPECTED. In entrambi i casi, la chiamata riesce perché l'interfaccia supporta l'accesso multithreading.

Risoluzione

MDAC 2.6 SP1

Per risolvere il problema, ottenere il service pack più recente per Microsoft Data Access Components 2.6. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
300635INFORMAZIONI: Come ottenere il più recente MDAC 2.6 Service Pack
La versione di MDAC 2.6 SP1 di questa correzione deve essere di avere i seguenti attributi di file:
   Date         Version       Size     File name     Platform
   ----------------------------------------------------------
   20-Jul-2001  2.61.7720.0   459,024  Oledb32.dll   x86
				

MDAC 2.5

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 di MDAC 2.5 SP2 di questa correzione deve essere di avere i seguenti attributi di file:
   Date         Version       Size     File name     Platform
   ----------------------------------------------------------
   25-Jun-2001  2.52.7625.0   483,600  Oledb32.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.Questo problema è stato innanzitutto corretto in Microsoft Data Access Components 2.6 Service Pack 2.

Informazioni

Questo problema si verifica in un computer dotato di MDAC 2.5 SP2 installato, viene visualizzato il seguente stack di arresto anomalo del sistema in un debugger collegato:
Access violation - code c0000005 (first chance)
eax=00000000 ebx=00d25978 ecx=00d25978 edx=00000010 esi=041a58f0 edi=00d252f0
eip=6b7410f4 esp=0165fe14 ebp=0165fe24 iopl=0         nv up ei pl nz ac pe cy
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00010213
MSDART32!MpHeapFree+66:
6b7410f4 f00fb10e         lock    cmpxchg [esi],ecx ds:0023:041a58f0=????????

MSDART32!MpHeapFree+0x66
MSDART32!mpFree+0x16
oledb32!FreeMPMallocedPropSets+0x4c
oledb32!CDBPROPContainer__ClearAllProperties+0xe
oledb32!CDBProperties__GetProperties+0x10c
oledb32!CDPO__UnlockedDCMGetProperties+0x48
oledb32!CDPO__GetProperties+0x32
					

Proprietà

Identificativo articolo: 301679 - Ultima modifica: lunedì 24 febbraio 2014 - Revisione: 4.2
Le informazioni in questo articolo si applicano a:
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6 Service Pack 1
  • Microsoft Data Access Components 2.6
Chiavi: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbmdac250sp3fix kbbug kbfix kbmdac260sp2fix KB301679 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: 301679
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