REVISIÓN: Infracción de acceso en IDBProperties::GetProperties cuando utiliza componentes de servicio OLE DB

Seleccione idioma Seleccione idioma
Id. de artículo: 301679 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Síntomas

Cuando una aplicación multiproceso utiliza los componentes de servicio OLE DB, si la aplicación utiliza el mismo puntero de interfaz IDBProperties para llamar al método IDBProperties::GetProperties simultáneamente en dos subprocesos diferentes, la llamada a GetProperties puede dar error con E_UNEXPECTED o puede recibir una infracción de acceso.

Si está utilizando Microsoft Data Access Components (MDAC) 2.5 Service Pack 2 (SP2), se produce una infracción de acceso. Si está utilizando SP1 de MDAC 2.6, se devuelve E_UNEXPECTED. En ambos casos, la llamada se realiza correctamente porque la interfaz admite el acceso multiproceso.

Solución

MDAC 2.6 SP1

Para resolver este problema, obtenga el service pack más reciente para Microsoft Data Access Components 2.6. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
300635INFO: Cómo obtener la más reciente de MDAC 2.6 Service Pack
La versión de MDAC 2.6 Service Pack 1 de esta revisión debe tener los siguientes atributos de archivo:
   Date         Version       Size     File name     Platform
   ----------------------------------------------------------
   20-Jul-2001  2.61.7720.0   459,024  Oledb32.dll   x86
				

MDAC 2.5

Para resolver este problema, obtenga el service pack más reciente de Microsoft MDAC 2.5. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
293312INFO: Cómo obtener la más reciente de MDAC 2.5 Service Pack
La versión de MDAC 2.5 Service Pack 2 de esta revisión debe tener los siguientes atributos de archivo:
   Date         Version       Size     File name     Platform
   ----------------------------------------------------------
   25-Jun-2001  2.52.7625.0   483,600  Oledb32.dll   x86
				

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo. Este problema se corrigió por primera vez en MDAC 2.5 Service Pack 3 de Microsoft.Este problema se corrigió por primera vez en Microsoft Data Access Components 2.6 Service Pack 2.

Más información

Si este problema se produce en un equipo que tiene instalado MDAC 2.5 Service Pack 2, recibirá la siguiente pila de bloqueo en un depurador asociado:
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
					

Propiedades

Id. de artículo: 301679 - Última revisión: lunes, 24 de febrero de 2014 - Versión: 4.2
La información de este artículo se refiere a:
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6 Service Pack 1
  • Microsoft Data Access Components 2.6
Palabras clave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbmdac250sp3fix kbbug kbfix kbmdac260sp2fix KB301679 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 301679

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