KB2563924 - CORRECÇÃO: Erro "O fluxo de protocolo TDS (fluxo de dados tabulares) de entrada está incorreto" quando a função SQLPutData insere o valor SQL_NULL_DATA em um TVP no SQL Server 2008 R2

Aplica-se a
SQL Server 2008 R2

A Microsoft distribui correções do Microsoft SQL Server 2008 R2 como um arquivo para download. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correções do SQL Server 2008 R2.

Sintomas

Considere o seguinte cenário:

  • Você tem um computador que executa o Microsoft SQL Server 2008 R2.
  • Você executa um aplicativo cliente que usa o driver ODBC do SQL Server 2008 R2 Native Client para vincular um parâmetro com valor de tabela como uma coluna de dados em execução.
  • O aplicativo cliente chama a função SQLPutData para alterar o parâmetro com valor de tabela para o valor SQL_NULL_DATA .

Nesse cenário, o aplicativo cliente não chama a função SQLPutData e você recebe a seguinte mensagem de erro:

Observação

[28000] - [Microsoft][SQL Server Native Client 10.0][SQL Server]O fluxo de protocolo TDS (fluxo de dados tabulares) de entrada está incorreto. O fluxo terminou inesperadamente

      

Causa

Esse problema ocorre porque o driver ODBC não envia o comprimento dos dados do valor de SQL_NULL_DATA para o parâmetro com valor de tabela.

Resolução

Para resolver esse problema, aplique a seguinte correção em um computador que tenha o SQL Server 2008 R2 Native Client instalado.

Informações sobre a atualização cumulativa

SQL Server 2008 R2 Service Pack 1

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 1 para o SQL Server 2008 R2 Service Pack 1. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2544793 Pacote de atualizações cumulativas 1 para o SQL Server 2008 R2 Service Pack 1Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 R2. Recomendamos que você considere aplicar 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 da Base de Dados de Conhecimento Microsoft:

2567616 As compilações do SQL Server 2008 R2 lançadas após o SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 8. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2534352 Pacote de atualização cumulativa 8 para SQL Server 2008 R2 Observação Como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 R2. Recomendamos que você considere aplicar 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 da Base de Dados de Conhecimento Microsoft:

981356 As compilações do SQL Server 2008 R2 lançadas após o SQL Server 2008 R2

Status

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 a função SQLPutData, visite o seguinte site do MSDN:

Informações gerais sobre a função SQLPutData
        
Para obter mais informações sobre como usar a coluna de dados em execução, visite o seguinte site do MSDN:

Como usar a coluna de dados em execução Para obter mais informações sobre parâmetros com valor de tabela, visite o seguinte site do MSDN:

Informações gerais sobre parâmetros com valor de tabela
Para obter mais informações sobre o Incremental Servicing Model para o SQL Server, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

935897 Um modelo de serviços incrementais disponível da equipe do SQL Server para fornecer hotfixes para problemas relatados

Para obter mais informações sobre o esquema de nomenclatura para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

822499 Novo esquema de nomenclatura para pacotes de atualização de software do Microsoft SQL Server Para obter informações adicionais sobre a terminologia de atualização de segurança, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):

824684 Descrição da terminologia padrão usada para descrever as atualizações de software da Microsoft