FIX : l'erreur « une valeur spécifiée a violé les contraintes d'intégrité pour une colonne ou de la table » si la publication de fusion contient de nombreux articles et les contraintes dans SQL Server Compact 3.5

Traductions disponibles Traductions disponibles
Numéro d'article: 2585082 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Considérez le scénario suivant :
  • Vous installez Microsoft SQL Server Compact 3.5 sur un ordinateur qui exécute un système d'exploitation 32 bits.
  • Vous créez un abonné dans SQL Server Compact 3.5.
  • Vous téléchargez nombre de lignes à partir d'une publication de fusion à une base de données alors que l'éditeur se synchronise avec l'abonné. Les lignes contiennent de nombreux articles et des contraintes.
Dans ce scénario, un message d'erreur semblable au suivant est enregistré dans le journal des erreurs :
System.Data.SqlServerCe.SqlCeException
Erreur native = 0, HRESULT =-2147217873, Message d'erreur : une valeur spécifiée a violé les contraintes d'intégrité pour une colonne ou une table.

Cause

Ce problème se produit car un ID d'échange non valide est utilisé.

Lorsque le nombre de lignes pour le téléchargement se trouvent dans un état d'attente sur un ordinateur qui exécute le système d'exploitation 32 bits, l'Agent Client Compact SQL appelle une méthode de nouvelles tentatives qui utilise un code de conversion non valide. Par conséquent, le problème mentionné dans la section « Symptômes » se produit.

Résolution

Le correctif qui résout ce problème est inclus dans le package de mise à jour cumulative 5 pour SQL Server Compact 3.5 Service Pack 2 (SP2).

Pour plus d'informations sur la façon d'obtenir le package de mise à jour cumulative 5 pour SQL Server Compact 3.5 Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2553608 Mise à jour cumulative 5 pour SQL Server Compact 3.5 Service Pack 2

Contournement

Pour contourner ce problème, spécifiez un ordre de traitement de l'article qui est l'ordre séquentiel des articles de fusion dans les lignes. L'administrateur de base de données peut utiliser une approche d'essais et d'erreurs pour rechercher l'ordre séquentiel des articles de fusion dans les lignes.

Notes
  • Si les articles sont téléchargés dans un ordre qui est l'ordre séquentiel des articles de fusion dans les lignes, moins de lignes sont ajoutées pour réessayer de files d'attente.
  • La valeur de la [@ processing_order =] processing_order argument détermine l'ordre que les articles sont téléchargés dans une publication de fusion. Le Processing_order le paramètre est un type de données integer. Si le 0 par défaut la valeur de la Processing_order paramètre est utilisé, l'article n'est pas triée. Lorsque le Processing_order paramètre n'est pas 0, la valeur représente une valeur ordinale de l'article. Lors du traitement des articles, ils sont traités dans un ordre incrémentiel de valeurs ordinales. Si les articles ont la même valeur, l'ordre de traitement de ces articles est déterminé par l'ordre alphabétique du surnom de l'article qui est stocké dans le sysmergearticles table système.
  • Pour plus d'informations sur la processing_order paramètre, visitez le site Web MSDN suivant :
    Informations générales sur le paramètre de processing_order
  • Pour plus d'informations sur l'ordre de traitement des articles de fusion, reportez-vous au site Web MSDN suivant :
    Informations générales sur l'ordre de traitement des articles de fusion

Propriétés

Numéro d'article: 2585082 - Dernière mise à jour: vendredi 12 août 2011 - Version: 1.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server Compact 3.5
Mots-clés : 
kbqfe kbexpertiseadvanced kbfix kbsurveynew kbmt KB2585082 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: 2585082
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.

Envoyer des commentaires

 

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