CORRECÇÃO: Mensagem de erro quando executa uma aplicação baseada no SQL Server 2008 que chama a função SQLBindParameter: "os dados em forma de tabela receber transmissão em sequência chamada de procedimento remoto (TDS) sequência de protocolo (RPC, Remote Procedure Call) está incorrecta"

Traduções de Artigos Traduções de Artigos
Artigo: 971051 - Ver produtos para os quais este artigo se aplica.
A Microsoft distribui correcções Microsoft SQL Server 2008 como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2008 anterior corrigir lançamento.
Expandir tudo | Reduzir tudo

Sintomas

Numa aplicação, utiliza o controlador de cliente nativo do SQL Server 2008. Chamar a função de SQLBindParameter para ligar um parâmetro de um tipo de dados de caracteres para uma consulta. Por exemplo, ligar um parâmetro do tipo de dados NCHAR ou do tipo de dados NVARCHAR . A aplicação passa um valor maior do que 4.000 ao parâmetro ColumnSize da função SQLBindParameter . Quando executar a consulta na aplicação, receberá a seguinte mensagem de erro:

Os dados em forma de tabela receber transmissão em sequência chamada de procedimento remoto (TDS) sequência de protocolo (RPC, Remote Procedure Call) está incorrecta. Parâmetro 1 (""): tipo de dados 0xE7 tem um comprimento de dados inválidos ou comprimento de metadados.
Nota Esta mensagem de erro é uma mensagem de erro do lado do servidor. Se a aplicação utiliza o controlador de cliente nativo do SQL Server 2005 em vez disso, receberá a seguinte mensagem de erro do lado do cliente como previsto:

[Microsoft][SQL Native Client]Valor de precisão inválido

Causa

Este problema ocorre porque o controlador do SQL Server 2008 Native Client não efectua uma verificação de tempo de execução do tamanho da coluna de entrada para a função SQLBindParameter . Além disso, o controlador duplica o tamanho da coluna se o tamanho da coluna de entrada for maior do que 4.000 e o parâmetro é um tipo de dados de caracteres. Por conseguinte, SQL Server devolve um erro do lado do servidor que o parâmetro excede o limite superior (8.000).

Nota O controlador de cliente nativo do SQL Server 2005 efectuar uma verificação de tempo de execução para o tamanho da coluna de entrada. Como tal, se o tamanho da coluna de entrada for maior que 8.000, o controlador de cliente nativo do SQL Server 2005 devolve um erro do lado do cliente.

Resolução

A correcção para este problema foi disponibilizada pela primeira vez na actualização cumulativa 3 para SQL Server 2008 Service Pack 1. Para obter mais informações sobre este pacote de actualização cumulativa, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
971491Pacote de actualização cumulativa 3 para SQL Server 2008 Service Pack 1
Nota Uma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2008 anterior corrigir lançamento. A Microsoft recomenda que considerar a aplicação a versão de correcção mais recente que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
970365O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 correcções são criadas para service packs do SQL Server específicos. Tem de aplicar uma correcção do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por predefinição, qualquer correcção fornecida num service pack do SQL Server está incluída no próximo service pack do SQL Server.

Ponto Da Situação

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

Referências

Para obter mais informações sobre o modelo de assistência incremental para o SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
935897Um modelo de assistência incremental está disponível a equipa do SQL Server para proporcionar correcções para problemas comunicados


Para obter mais informações sobre o esquema de atribuição de nomes para as actualizações do SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
822499Novo esquema de atribuição de nomes de ficheiros para pacotes de actualização de software do Microsoft SQL Server


Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 971051 - Última revisão: 21 de julho de 2009 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
Palavras-chave: 
kbmt kbsurveynew kbfix kbqfe kbexpertiseadvanced KB971051 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: 971051

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