É apresentada erros inesperados quando utilizar o ADO and ADO MD numa aplicação do .NET Framework

Traduções de Artigos Traduções de Artigos
Artigo: 840667 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Numa aplicação do Microsoft .NET Framework, pode utilizar o Microsoft ActiveX Data Objects (ADO) e Microsoft ActiveX Data Objects (ADO MD) (Multidimensional) através de interoperabilidade COM. Por vezes, em limite, as aplicações do .NET Framework que utilizam estas tecnologias detectar erros inesperados, tais como falhas e outras excepções intermitentes. Isto é especialmente comum aplicações multithread como a que sejam executados no Microsoft ASP.NET.

Causa

ADO e ADO MD foram criados antes da disponibilização do .NET Framework e foram se destina a ser utilizado num ambiente não gerido COM (Component Object Model). Apesar de pode aceder a estas tecnologias através de interoperabilidade COM, não recomendamos que o faça. Isto inclui a utilização do ADO principal interoperabilidade assemblagem incluída no Microsoft Visual Studio. NET.

Uma vez que eles não se destinam a ser utilizado em desta forma, ADO and ADO MD não foram muito testados em cenários de interoperabilidade.

Resolução

Recomendamos que utilize Microsoft ADO.NET ou Microsoft ADOMD.NET em vez de utilizar clássico ADO ou ADO MD através de interoperabilidade. Estas tecnologias foram desenvolvidas especificamente para fornecer acesso a dados em aplicações do .NET Framework e não requerem a complexidade da interoperabilidade COM adicionado.

Ponto Da Situação

Não haverá qualquer futuras correcções ou melhoramentos para estes componentes para corrigir problemas que ocorrem apenas numa aplicação do .NET Framework gerida. Normalmente, isto não afecta futuras correcções ou melhoramentos ao ADO and ADO MD. Continuaremos a resolver problemas que ocorrem da utilização de ADO and ADO MD nas aplicações não geridas, incluindo o Microsoft Visual Basic 6.0, o Microsoft Visual C++ e o Microsoft ASP.

Como contornar

Para contornar este problema no Microsoft ASP.NET, defina o atributo ASPCompat da directiva @ Page como true . Quando este atributo está definido como true , a página pode ser executada num thread single-threaded apartment (STA). Executar uma página de um thread STA reduz as hipóteses de acesso multi-threaded inesperado para o objecto ADO ou para o objecto ADO MD.

Nota Apenas utilize este como uma solução temporária enquanto o código está a ser migrado para o ADO.NET ou ADOMD.NET.

As aplicações do .NET framework que utilizam ADO clássico tem de utilizar a assemblagem de interoperabilidade primária para ADO incluída no Visual Studio. NET. Esta solução alternativa pode reduzir alguns problemas. No entanto, não pode impedir todos os problemas. Não utilize esta solução alternativa como uma solução a longo prazo.

Referências

ADO.NET é fornecida como parte do Microsoft .NET Framework. Para mais informações sobre o .NET Framework, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/netframework/default.aspx
O ficheiro seguinte está disponível para transferência a partir do Centro de transferências da Microsoft:
Reduzir esta imagemExpandir esta imagem
Download
Download the ADOMD.NET package now.Para obter informações adicionais sobre como transferir ficheiros de suporte da Microsoft, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
119591Como obter ficheiros de suporte da Microsoft a partir de serviços on-line
Microsoft procedeu de vírus neste ficheiro. Microsoft utilizou o mais recente software de detecção de vírus que estava disponível na data em que o ficheiro foi publicado. O ficheiro é alojado em servidores com segurança avançada que o ajudam a impedir alterações não autorizadas ao ficheiro.

Propriedades

Artigo: 840667 - Última revisão: 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 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: 840667
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

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