REVISIÓN: Mensaje de Error cuando ejecuta una aplicación basada en SQL Server 2008 que llama a la función SQLBindParameter: "los datos tabulares entrantes secuencia de llamada a procedimiento remoto (TDS) secuencia de protocolo (RPC) es incorrecto"

Microsoft distribuye correcciones de Microsoft SQL Server 2008 como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008.

Síntomas

En una aplicación, utilice el controlador de SQL Server 2008 Native Client. Llame a la función SQLBindParameter para enlazar un parámetro de un tipo de datos de caracteres anchos para una consulta. Por ejemplo, enlazar un parámetro del tipo de datos NCHAR o del tipo de datos NVARCHAR . La aplicación pasa un valor que es mayor que 4.000 al parámetro de la función SQLBindParameter ColumnSize . Cuando ejecuta la consulta en la aplicación, recibirá el siguiente mensaje de error:

Los datos tabulares entrantes secuencia de llamada a procedimiento remoto (TDS) secuencia de protocolo (RPC) es incorrecto. Parámetro 1 (""): tipo de datos 0xE7 tiene una longitud de datos no válido o metadatos.
Nota: Este mensaje de error es un mensaje de error del servidor. Si la aplicación utiliza el controlador de SQL Server 2005 Native Client en su lugar, recibirá el siguiente mensaje de error de cliente como se esperaba:

[Microsoft] [SQL Native Client] Valor de precisión no válido

Causa

Este problema se produce porque el controlador de SQL Server 2008 Native Client no realiza una comprobación en tiempo de ejecución el tamaño de la columna de entrada para la función SQLBindParameter . Además, el controlador duplica el tamaño de la columna si el tamaño de la columna de entrada es mayor que 4000 y el parámetro es un tipo de datos de caracteres anchos. Por lo tanto, SQL Server devuelve un error del lado del servidor que el parámetro excede el límite superior (8000).

Nota: El controlador de SQL Server 2005 Native Client lleva a cabo una comprobación en tiempo de ejecución para el tamaño de la columna de entrada. Por lo tanto, si el tamaño de la columna de entrada es mayor que 8000, el controlador de SQL Server 2005 Native Client devuelve un error del lado del cliente.

Solución


La corrección para este problema en primer lugar se publicó en actualización acumulativa 3 para SQL Server 2008 Service Pack 1. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
971491 acum actualizar paquete 3 para SQL Server 2008 Service Pack 1
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
970365 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 1
Las revisiones de Microsoft SQL Server 2008 se crean para determinados service Pack de SQL Server. Debe aplicar un hotfix de SQL Server 2008 Service Pack 1 en una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el próximo service pack de SQL Server.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Referencias

Para obtener más información sobre el modelo de servicio Incremental de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

935897 un modelo de servicio Incremental está disponible en el equipo de SQL Server para entregar revisiones para problemas detectados



Para obtener más información acerca del esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

822499 Nuevo esquema de nomenclatura para los paquetes de actualización de software de Microsoft SQL Server


Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft
Propiedades

Id. de artículo: 971051 - Última revisión: 13 ene. 2017 - Revisión: 1

Comentarios