CORRECTIF : Message d’erreur lorsque vous exécutez une application basée sur SQL Server 2008 qui appelle la fonction SQLBindParameter : « les données tabulaires entrantes stream (TDS) remote procedure call (RPC) le flux de protocole est incorrect »

Microsoft distribue les correctifs de Microsoft SQL Server 2008 en tant que fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et correctifs de sécurité inclus dans la précédente 2008 de SQL Server version du correctif.

Symptômes

Dans une application, vous utilisez le pilote de SQL Server 2008 Native Client. Vous appelez la fonction SQLBindParameter pour lier un paramètre de données de type caractère large pour une requête. Par exemple, vous liez un paramètre du type de données NCHAR ou du type de données NVARCHAR . L’application transmet une valeur supérieure au paramètre de la fonction SQLBindParameter ColumnSize à 4 000. Lorsque vous exécutez la requête dans l’application, le message d’erreur suivant s’affiche :

Appel de procédure distante (TDS) des flux de protocole (RPC) sont incorrecte du flux de données entrantes sous forme de tableau. Paramètre 1 (« ») : type de données 0xE7 a une longueur de métadonnées ou des données non valides.
Remarque Ce message d’erreur est un message d’erreur du côté serveur. Si l’application utilise le pilote SQL Server 2005 Native Client à la place, vous recevez le message d’erreur côté client suivant comme prévu :

[Microsoft] [SQL Native Client] Valeur de précision non valide

Cause

Ce problème se produit car le pilote de SQL Server 2008 Native Client n’effectue pas une vérification de la taille de la colonne d’entrée à l’exécution de la fonction SQLBindParameter . En outre, le pilote double la taille de la colonne si la taille de la colonne d’entrée est supérieure à 4 000 et que le paramètre est un type de données caractères larges. Par conséquent, SQL Server renvoie une erreur côté serveur, que le paramètre dépasse la limite supérieure (8 000).

Remarque Le pilote SQL Server 2005 Native Client effectue une vérification de l’exécution pour la taille de la colonne d’entrée. Par conséquent, si la taille de la colonne d’entrée est supérieure à 8 000, le pilote SQL Server 2005 Native Client retourne une erreur côté client.

Résolution


Le correctif de ce problème a été publié dans à jour Cumulative 3 pour SQL Server 2008 Service Pack 1. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
971491 Cumulative mise à jour 3 pour Microsoft SQL Server 2008 Service Pack 1
Remarque Les versions étant cumulatives, chaque nouvelle version du correctif contient tous les correctifs et correctifs de sécurité inclus dans la précédente version du correctif de SQL Server 2008. Microsoft vous recommande l’application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
970365 the SQL Server versions 2008 publiées après SQL Server 2008 Service Pack 1
Les correctifs Microsoft SQL Server 2008 sont créés pour les packs de service spécifiques de SQL Server. Vous devez appliquer un correctif SQL Server 2008 Service Pack 1 dans une installation de SQL Server 2008 Service Pack 1. Par défaut, tout correctif qui est fourni dans un service pack de SQL Server est inclus dans le prochain service pack de SQL Server.

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Références

Pour plus d’informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

935897 un modèle de service incrémentiel est disponible auprès de l’équipe SQL Server pour proposer des correctifs pour les problèmes signalés



Pour plus d’informations sur le schéma d’appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

822499 Nouveau schéma d’affectation de noms pour les packages de mise à jour logicielle de Microsoft SQL Server


Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft
Propriétés

ID d'article : 971051 - Dernière mise à jour : 14 janv. 2017 - Révision : 1

Commentaires