CORRECÇÃO: Violação de acesso em IDBProperties::GetProperties quando utiliza OLE DB Service Components

Traduções de Artigos Traduções de Artigos
Artigo: 301679 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Sintomas

Quando uma aplicação multithread utiliza os componentes de serviço de OLE DB, se a aplicação utiliza o apontador de interface IDBProperties mesmo para chamar o método IDBProperties::GetProperties simultaneamente em dois threads diferentes, a chamada para GetProperties poderá falhar com E_UNEXPECTED ou poderá receber uma violação de acesso.

Se estiver a utilizar o Microsoft Data Access Components (MDAC) 2.5 Service Pack 2 (SP2), ocorre uma violação de acesso. Se estiver a utilizar o MDAC 2.6 SP1, é devolvido E_UNEXPECTED. Em ambos os casos, a chamada tiver êxito uma vez que a interface suporta acesso multithread.

Resolução

MDAC 2.6 SP1

Para resolver este problema, obtenha o service pack mais recente do Microsoft Data Access Components 2.6. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
300635INFO: Como obter o MDAC 2.6 mais recente Service Pack
A versão de MDAC 2.6 SP1 desta correcção deverá ter os seguintes atributos de ficheiro:
   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, obtenha o service pack mais recente do Microsoft MDAC 2.5. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
293312INFO: Como obter o mais recente MDAC 2.5 Service Pack
A versão do MDAC 2.5 SP2 desta correcção deverá ter os seguintes atributos de ficheiro:
   Date         Version       Size     File name     Platform
   ----------------------------------------------------------
   25-Jun-2001  2.52.7625.0   483,600  Oledb32.dll   x86
				

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo. Este problema foi corrigido pela primeira vez no MDAC 2.5 Service Pack 3.Este problema foi corrigido pela primeira vez no Microsoft Data Access Components 2.6 Service Pack 2.

Mais Informação

Se este problema ocorre num computador que tem o MDAC 2.5 SP2 instalado, receberá a seguinte pilha de falha de um depurador anexado:
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
					

Propriedades

Artigo: 301679 - Última revisão: 24 de fevereiro de 2014 - Revisão: 4.2
A informação contida neste artigo aplica-se a:
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6 Service Pack 1
  • Microsoft Data Access Components 2.6
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbmdac250sp3fix kbbug kbfix kbmdac260sp2fix KB301679 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 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