Artigo: 823679 - Última revisão: sexta-feira, 7 de Abril de 2006 - Revisão: 2.1

Corrigir: Várias correcções para o fornecedor de dados do SQL Server .NET

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Os seguintes erros foram corrigidos na versão actual do Microsoft SQL Server .NET Data Provider (SqlClient):
  • Quando processa um conjunto de resultados ou um procedimento armazenado, SQL Server podem devolver conjuntos de resultados, mensagens de erro e mensagens informativas. Por exemplo, o procedimento armazenado DBCC devolve uma mistura de conjuntos de resultados, mensagens de erro e mensagens informativas. Além disso é complicado, o facto de que SQL Server poderá devolver mensagens de erro durante a chamada para SQLCommand.ExecuteReader (ou outros métodos de xxx SQLCommand.Execute) ou durante o processamento de resultados SQLDataReader.Read e SQLDataReader.NextResult.

    Com esta correcção, se ocorrer o erro ocorre primeiro na sequência (durante a chamada para SQLCommand.ExecuteReader), inicia uma excepção única que contém todas as mensagens de erro e não receber quaisquer resultados.

    Nota Se o erro ocorrer depois do primeiro conjunto de resultados, poderá ver uma excepção de SQLDataReader que contém todas as mensagens de erro. Não se trata de uma alteração do comportamento numa versão 1.1 ou numa versão 1.0.
  • Versão 1.1 do SqlClient introduzida uma regressão no processamento de cadeias de ligação que contêm apóstrofos (') ou aspas duplas (""). Isto provoca as cadeias de ligação com correctamente escaped apóstrofos nem aspas falha e recebe a seguinte mensagem de erro:
    O formato da cadeia de inicialização não está em conformidade com a especificação de iniciar no índice {0}.
    Esta correcção remove esta regressão.
  • Quando o SQLCommand.CommandTimeout estiver definido como zero, esperar um tempo de espera infinito. No entanto, versões 1.1 e 1.0 do fornecedor SqlClient incorrectamente tempo de espera quando uma resposta do SQL Server é dividido em dois pacotes. Imediatamente após a recepção do segundo pacote, versões 1.1 e 1.0 do fornecedor incorrectamente o tempo limite. A correcção descrita neste artigo corrige este problema para que o comando tenha um tempo de espera infinito.
  • Quando utiliza uma cláusula COMPUTE BY na instrução de SQL, versões 1.1 e 1.0 da SqlClient falharem e receberá a seguinte mensagem de erro:
    "COMPUTE BY instruções não suportadas"
    Com esta correcção, SqlClient processa correctamente uma cláusula COMPUTE BY em instruções SQL.
Nota Todos estes problemas foram corrigidos na compilação mais recente do SQL Server .NET Data Provider (System.Data.dll). Esta correcção apenas existe para o Microsoft .NET Framework 1.1 e não resolve o problema no .NET Framework 1.0.

Resolução

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, a Microsoft recomenda que aguarde pelo próximo service pack do .NET Framework 1.1 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version            Size    File name
   -------------------------------------------------------------------------------------
   27-Jun-2003  15:01  1.1.4322.918    1,294,336  System.data.dll  
   30-Jun-2003  22:27  1.0.0.0         1,629,352  Ndp1.1-kb823679-x86.exe  
   03-Jul-2003  03:20  5.3.17.17         709,920  Windowsserver2003-kb821415-x86-enu.exe  
				

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo.

Mais Informação

Para instalar a correcção num computador com o Microsoft Windows Server 2003, instale o WindowsServer2003-kb821415-x 86-ptg.exe.

Para instalar a correcção num computador com o Microsoft Windows NT ou Microsoft Windows 2000 Server, instale Ndp1.1-kb823679-x86.exe.

Referências

Para obter informações adicionais sobre como utilizar o COMPUTE BY cláusula, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
311540  (http://support.microsoft.com/kb/311540/ ) PROBLEMA: "COMPUTE BY instruções não suportadas" excepção quando utiliza a cláusula COMPUTE BY com o SQL Server

A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Palavras-chave: 
kbmt kbqfe kbhotfixserver kbnetframe110presp1fix kbnetframe110sp1fix kbmanaged kbsystemdata kbsqlclient kbfix kbbug KB823679 KbMtpt
Tradução automáticaTraduçã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: 823679  (http://support.microsoft.com/kb/823679/en-us/ )