Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

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

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
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 :
  • Pour plus d'informations sur l'ordre de traitement des articles de fusion, reportez-vous au site Web MSDN suivant :

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 2585082 - Dernière mise à jour : 08/12/2011 10:21:00 - Révision : 1.0

Microsoft SQL Server Compact 3.5

  • kbqfe kbexpertiseadvanced kbfix kbsurveynew kbmt KB2585082 KbMtfr
Commentaires
p;did=1&t=">