CORRECTIF : l'option ON ANSI_PADDING SET peut ne pas fonctionne comme prévu lorsque vous exécutez une requête qui contient une instruction CASE dans SQL Server 7.0

Traductions disponibles Traductions disponibles
Numéro d'article: 891116 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
BUG#:200141 (SQL Server 7.0)
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous exécutez une requête qui contient une instruction CASE dans Microsoft SQL Server 7.0, l'option ON ANSI_PADDING SET peut ne pas fonctionne normalement. Ce problème se produit lorsque les conditions suivantes sont remplies :
  • L'instruction CASE contient plusieurs chaînes de caractères littéraux.
  • Les chaînes de caractères littérale ont différentes longueurs.
  • Les chaînes de caractères littérale ont des espaces.
Par exemple, dans le script Transact-SQL suivant, l'instruction SELECT renvoie « test1result ». L'instruction SELECT doit renvoyer « résultat test1 ».
DBCC FREEPROCCACHE
GO
SET ANSI_PADDING ON
GO
DECLARE @x integer
SET @x = 1 
SELECT  CASE WHEN @x = 1 THEN 'test1 ' WHEN @x = 2 THEN 'test2 ' ELSE 'test 3 ' END + 'result'

Résolution

Un correctif est disponible auprès de Microsoft. Toutefois, ce correctif est conçu pour corriger le problème décrit dans cet article. Appliquer ce correctif uniquement aux systèmes rencontrant ce problème spécifique.

Si le correctif est disponible pour le téléchargement, il est une section « téléchargement correctif disponible » en haut de cet article de la base de connaissances. Si cette section n'apparaît pas, soumettez une demande à Microsoft client service et support pour obtenir le correctif.

note Si des problèmes supplémentaires se produisent ou si n'importe quel dépannage est nécessaire, vous devrez peut-être créer une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes non traités par ce correctif spécifique. Pour une liste complète des Microsoft client service et support numéros de téléphone ou pour créer une demande de service distincte, reportez-vous au site de Web Microsoft suivant :
http://support.microsoft.com/contactus/?ws=support
note L'écran de « téléchargement correctif disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas la langue, il est car un correctif logiciel n'est pas disponible pour cette langue.

Conditions préalables

Vous devez installer SQL Server 7.0 Service Pack 4 (SP4) avant d'installer ce correctif

Demande de redémarrage

Vous devez redémarrer votre ordinateur après avoir appliqué ce correctif.

Informations sur le remplacement de correctif

Ce correctif ne remplace aucun autre correctif.

Informations de fichier

La version anglaise de ce correctif dispose les attributs de fichier (ou attributs de fichier version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont exprimées en temps universel coordinated (UTC). Lorsque vous affichez les informations de fichier, il est convertie en heure locale. Pour connaître le décalage entre l'heure UTC et l'heure locale, utilisez l'onglet Fuseau horaire dans l'outil Date et heure du Panneau de configuration.
File name                    Version           Date         Time        Size         
------------------------------------------------------------------------------
Msvcr71.dll                  8.00.21213.00     09-Jun-2003  18:20      352,256  
Osql.exe                     8.00.796          09-Jun-2003  18:20       57,904  
Sqdedev.dll                  8.00.534          09-Jun-2003  18:20      127,548  
Sqlunirl.dll                 8.00.194          09-Jun-2003  18:20      180,290  
Dbmssocn.dll                 7.00.1081         04-Oct-2002  23:59       28,944  
Distrib.exe                  7.00.1077         06-Sep-2002  23:55       53,520  
Logread.exe                  7.00.1077         06-Sep-2002  23:55       98,576  
Opends60.dll                 7.00.1093         05-May-2003  18:34      155,920  
Rdistcom.dll                 7.00.1077         06-Sep-2002  23:56      250,128  
Replmerg.exe                 7.00.1077         06-Sep-2002  23:55       82,192  
Replres.dll                  7.00.1077         06-Sep-2002  23:56       78,096  
Securityhotfix.sql                             17-Sep-2002  22:52        7,941  
Snapshot.exe                 7.00.1077         06-Sep-2002  23:56      160,016  
Sp4_serv_uni.sql                               30-May-2003  04:21       59,214  
Sqlagent.exe                 7.00.1085         15-Jan-2003  01:33      344,064  
Sqlcmdss.dll                 7.00.1077         06-Sep-2002  23:55       45,056  
Sqldmo.dll                   7.00.1094         16-May-2003  00:18    2,629,632  
Sqlmap70.dll                 7.00.1094         16-May-2003  13:29       81,920  
Sqlservr.exe                 7.00.1150         15-Dec-2004  01:07    5,062,928  
Sqltrace.dll                 7.00.1144         15-Oct-2003  17:09      315,392  
Ssmsso70.dll                 7.00.1081         04-Oct-2002  23:59       45,328  
Ssnmpn70.dll                 7.00.1094         16-May-2003  00:18       24,848  
Ums.dll                      7.00.1079         26-Sep-2002  20:27       57,616  
Xpweb70.dll                  7.00.1094         16-May-2003  13:31      151,552  
Dbmssocn.dll                 7.00.1081         04-Oct-2002  23:59       28,944  
Sqldmo.dll                   7.00.1094         16-May-2003  00:18    2,629,632  
Sqltrace.dll                 7.00.1144         15-Oct-2003  17:09      315,392    

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Ce correctif introduit indicateur 262. Lorsque vous activez cet indicateur de suivi, les espaces sont tronqués plus de chaînes littérales dans les instructions CASE. Pour activer l'indicateur de suivi 262, appliquez l'une des méthodes suivantes :
  • Définir des indicateurs de suivi en utilisant l'instruction DBCC TRACEON. Pour activer l'indicateur de suivi 262 en utilisant l'instruction DBCC TRACEON, exécutez le script Transact-SQL suivant :
    DBCC TRACEON (262)
    
  • Définir des indicateurs de suivi à une invite de commande. Pour activer le suivi indicateur 262 au démarrage, tapez la commande suivante à partir d'une invite de commandes :
    sqlservr ?d"C:\MSSQL7\Data\master.mdf " ?T262
Pour plus d'informations sur l'option ANSI_PADDING, reportez-vous au site de Web MSDN (Microsoft Developer Network) suivant :
http://msdn2.microsoft.com/en-us/library/aa259201(SQL.80).aspx
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684 Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Propriétés

Numéro d'article: 891116 - Dernière mise à jour: mercredi 5 février 2014 - Version: 1.5
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 7.0 Standard
Mots-clés : 
kbnosurvey kbarchive kbmt kbautohotfix kbsqlserv700presp5fix kbfix kbbug kbhotfixserver kbqfe KB891116 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 891116
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

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