Você receber erros inesperados ao usar o ADO e ADO MD em um aplicativo .NET Framework

Traduções deste artigo Traduções deste artigo
ID do artigo: 840667 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Em um aplicativo Microsoft .NET Framework, você pode usar o Microsoft ActiveX Data Objects (ADO) e Microsoft ActiveX Data Objects (Multidimensional) (ADO MD) através de interoperabilidade COM. Às vezes, sob carga excessiva, aplicativos do .NET Framework que usam essas tecnologias enfrentar erros inesperados, como panes e outras exceções intermitentes. Isso é especialmente comum com aplicativos multithread, tais como aquelas que executam no Microsoft ASP.NET.

Causa

ADO e ADO MD foram criados antes do lançamento do .NET Framework e foram se destina a ser usado em um ambiente não gerenciado (Component Object Model). Embora você possa acessar essas tecnologias através de interoperabilidade COM, não recomendamos que você faça isso. Isso inclui o uso do assembly de interoperabilidade ADO primário que acompanha o Microsoft Visual Studio. NET.

Como a eles não são intenção usado dessa forma, ADO e ADO MD não foram intensamente testados em cenários de interoperabilidade.

Resolução

Recomendamos que você use o Microsoft ADO.NET ou Microsoft ADOMD.NET em vez de usar ADO Clássico ou ADO MD por meio da interoperabilidade. Essas tecnologias foram desenvolvidas especificamente para fornecer acesso a dados em aplicativos .NET Framework e não exigem a complexidade adicional de interoperabilidade COM.

Situação

Não haverá qualquer futuras correções ou aperfeiçoamentos para esses componentes para corrigir problemas que ocorrem apenas em um aplicativo gerenciado .NET Framework. Geralmente, isso não afeta futuras correções ou aprimoramentos do ADO e ADO MD. Continuaremos a resolver problemas que ocorrem do uso do ADO e ADO MD em aplicativos não gerenciados, incluindo Microsoft Visual Basic 6.0, Microsoft Visual C++ e Microsoft ASP.

Como Contornar

Para contornar este problema no Microsoft ASP.NET, defina o atributo ASPCompat da diretiva @ Page para true . Quando esse atributo é definido como true , a página pode ser executada em um thread de single-threaded apartment (STA). Execução de uma página em um thread STA reduz as chances de acesso de vários segmentos inesperado para o objeto ADO ou para o objeto ADO MD.

Observação Somente use isso como uma solução temporária enquanto o código é migrado para o ADO.NET ou ADOMD.NET.

Aplicativos .NET framework que usam o ADO Clássico devem usar o assembly de interoperabilidade primária para ADO está incluído no Visual Studio .NET. Esta solução alternativa pode reduzir alguns problemas. No entanto, ela não pode impedir que todos os problemas. Não use essa solução alternativa como uma solução a longo prazo.

Referências

ADO.NET é fornecida como parte do Microsoft .NET Framework. Para obter mais informações sobre o .NET Framework, visite o seguinte site da Web Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/netframework/default.aspx
O seguinte arquivo está disponível para download no Centro de download da Microsoft:
Recolher esta imagemExpandir esta imagem
Download
Download the ADOMD.NET package now.Para obter informações adicionais sobre como baixar arquivos de suporte da Microsoft, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
119591Como obter arquivos de suporte da Microsoft a partir de serviços online
Microsoft examinou esse arquivo em busca de vírus. Microsoft utilizou o mais recente software de detecção de vírus que estava disponível na data em que o arquivo foi publicado. O arquivo é armazenado em servidores com segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo.

Propriedades

ID do artigo: 840667 - Última revisão: quarta-feira, 27 de dezembro de 2006 - Revisão: 1.4
A informação contida neste artigo aplica-se a:
  • Microsoft ActiveX Data Objects 2.7
  • Microsoft SQL Server 2000 Analysis Services
Palavras-chave: 
kbmt kbtshoot kbprb kbinfo KB840667 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 840667
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários

 

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