Você está offline; aguardando reconexão

CORRECÇÃO: Mensagem de erro quando você executa um aplicativo baseado em SQL Server 2008 que chama a função SQLBindParameter: "os dados tabulares entrados fluxo (TDS) remote procedure call fluxo do protocolo (RPC) está incorreto"

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: 971051
A Microsoft distribui correções do Microsoft SQL Server 2008 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todas as correções segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento.
Sintomas
Em um aplicativo, você usa o driver cliente nativo do SQL Server 2008. Você chamar a função SQLBindParameter para vincular um parâmetro de um tipo de dados de caractere largo para uma consulta. Por exemplo, você vincular um parâmetro do tipo de dados NCHAR ou do tipo de dados NVARCHAR . O aplicativo passa um valor que é maior que 4.000 para o parâmetro ColumnSize da função SQLBindParameter . Quando você executa a consulta no aplicativo, você receber a seguinte mensagem de erro:

Dados tabulares de entrada fluxo (TDS) remote procedure call (RPC) protocolo fluxo está incorreto. Parâmetro 1 (""): tipo de dados 0xE7 tem um comprimento inválido dos dados ou de comprimento de metadados.
Observação Essa mensagem de erro é uma mensagem de erro de servidor. Se o aplicativo utilizar o driver cliente nativo do SQL Server 2005 em vez disso, você receberá a seguinte mensagem de erro do lado do cliente conforme o esperado:

[Microsoft][SQL Native Client]Valor de precisão inválido
Causa
Esse problema ocorre porque o driver cliente nativo do SQL Server 2008 não executa uma verificação em tempo de execução do tamanho da coluna de entrada para a função SQLBindParameter . Além disso, o driver dobra o tamanho da coluna se o tamanho de coluna de entrada é maior 4.000 e o parâmetro é um tipo de dados de caractere largo. Portanto, o SQL Server retorna um erro do lado do servidor que o parâmetro excede o limite superior (8.000).

Observação O driver cliente nativo do SQL Server 2005 executar uma verificação em tempo de execução para o tamanho de coluna de entrada. Portanto, se o tamanho de coluna de entrada for maior do que 8.000, o driver cliente nativo do SQL Server 2005 retorna um erro do lado do cliente.
Resolução
A correção para esse problema foi lançada primeiro na atualização cumulativa 3 para o SQL Server 2008 Service Pack 1. Para obter mais informações sobre esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
971491Pacote de atualizações cumulativas 3 para SQL Server 2008 Service Pack 1
Observação Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e todas as correções segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento. A Microsoft recomenda que você considere a aplicação a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
970365Compilações do SQL Server 2008 que foram lançadas lançamento após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 hotfixes são criados para service packs do SQL Server específicos. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por padrão, qualquer hotfix fornecidas em um SQL Server service pack está incluído no service pack seguinte do SQL Server.
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Referências
Para obter mais informações sobre o modelo incremental de serviços para o SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
935897Há um modelo incremental de serviços da equipe do SQL Server para fornecer hotfixes para problemas relatados


Para obter mais informações sobre o esquema para nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
822499Novo esquema para nomeação para pacotes de atualização de software do Microsoft SQL Server


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

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 971051 - Última Revisão: 07/21/2009 03:45:51 - Revisão: 1.0

Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Workgroup

  • kbmt kbsurveynew kbfix kbqfe kbexpertiseadvanced KB971051 KbMtpt
Comentários
html>cument.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">