CORRECÇÃO: Mensagem de erro quando um thread "System.Data" tenta abrir uma conexão em pool no .NET Framework 2.0: "tempo limite expirou. O tempo limite esgotou antes para obter uma conexão do pool de"

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

Neste artigo

Sintomas

Considere o seguinte cenário. O Microsoft .NET Framework 2.0, um thread System.Data tenta abrir uma conexão em pool. Ao mesmo tempo, o outro thread tenta limpar esse pool usando o método ClearPool ou o método ClearAllPools . Nesse cenário, você receber a seguinte mensagem de erro:
Tempo limite expirou. O tempo limite esgotou antes para obter uma conexão do pool de. Isso pode ter ocorrido porque todas as conexões do pool estavam em uso e o tamanho máximo do pool foi atingido.
Esse problema ocorre nas seguintes versões do .NET Framework 2.0:
  • A versão do .NET Framework 2.0
  • O .NET Framework 2.0 Service Pack 1

Causa

Esse problema ocorre devido a uma condição de corrida na chamada do método GetConnection interna. Depois que o grupo de pool de conexão e para o pool de conexão são obtidos, o método GetConnection é chamado no pool. Se o método ClearPool é chamado entre o método GetConnectionPool e o método GetConnection , o estado de pool é alterado para ShuttingDown e o método GetConnection retorna o valor nulo. Essas coisas ocorrem devido a condição de corrida. Em seguida, porque o valor nulo é interpretado como um tempo limite, você receber a mensagem de erro mencionada na seção "Sintomas".

Resolução

Informações sobre o hotfix

Para resolver esse problema, instale o hotfix mencionado no seguinte artigo na Base de dados de Conhecimento da Microsoft:
948815Disponibilidade do pacote .NET Framework 2.0 Service Pack 1 hotfix cumulativo para System.Data.dll e System.Data.OracleClient.dll do

Pré-requisitos

Você deve ter o .NET Framework 2.0 Service Pack 1 instalado para aplicar esse hotfix.

Requisitos de reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix.

Informações sobre a substituição do hotfix

Esse hotfix não substitui outros hotfixes.

Informações sobre o arquivo

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
O .NET Framework 2.0, x 86 versões
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
System.Data.dll2.0.50727.18132,998,27204-Fevereiro de 200820: 49x 86
System.Data.OracleClient.dll2.0.50727.1813484,35204-Fevereiro de 200820: 49x 86
O .NET Framework 2.0, versões x 64
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
System.Data.dll2.0.50727.18132,998,27204-Fevereiro de 200820: 49x 86
System.Data.OracleClient.dll2.0.50727.1813484,35204-Fevereiro de 200820: 49x 86
System.Data.dll2.0.50727.18103,113,47214 De janeiro de 200815: 36x 64
System.Data.OracleClient.dll2.0.50727.1810499,71214 De janeiro de 200815: 36x 64
O .NET Framework 2.0, versões com base em Itanium
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
System.Data.dll2.0.50727.18132,998,27204-Fevereiro de 200820: 49x 86
System.Data.OracleClient.dll2.0.50727.1813484,35204-Fevereiro de 200820: 49x 86
System.Data.dll2.0.50727.18133,208,19204-Fevereiro de 200817: 25IA-64
System.Data.OracleClient.dll2.0.50727.1813503,80804-Fevereiro de 200817: 25IA-64

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Informações de pilha de chamada

System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
System.Data.SqlClient.SqlConnection.Open()

Propriedades

ID do artigo: 948868 - Última revisão: quarta-feira, 2 de abril de 2008 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0
Palavras-chave: 
kbmt kbexpertiseadvanced kbpubtypekc kbqfe kbhotfixserver KB948868 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: 948868

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