Erreur de problème : « [Microsoft] [Pilote SQL Server ODBC] [SQL Server] Violation de la contrainte CLÉ PRIMAIRE
PKRM30301 Impossible d’insérer une clé en double dans l’objet RM30301 » se produit lors de l’exécution de la suppression de transaction payée dans la gestion des clients
clients.
Remarque : lorsque vous avez atteint OK dans cette boîte de dialogue, une boîte de dialogue d’informations indiquant « La procédure stockée dans la suppression de la transaction payée a renvoyé les résultats suivants : SGBD:2627, eEnterprise 0
». Cause potentielle
Il existe un document en double dans les tables Clients. Il s’agit généralement d’un numéro de séquence en double.
Résolution
1. Exécutez l’opération suivante sur la base de données de la société pour rechercher les enregistrements qui sont à l’origine de l’erreur sur LE RM30301 : sélectionnez
RMDTYPAL, DOCNUMBR, SEQNUMBR à partir du groupe RM10101 par
RMDTYPAL, DOCNUMBR, SEQNUMBR ayant le
nombre(*) > 1
2. À l’aide des informations renvoyées à partir de la requête précédente, exécutez l’opération suivante pour afficher les données d’un numéro de document spécifique : sélectionnez SEQNUMBR comme SEQNUMBR, * à partir de
RM10101 où DOCNUMBR = '
entrez le numéro de document à partir de l’étape 1' par LAE. Mettez à jour le champ SEQNUMBR afin qu’il n’y a pas de doublon. Utilisez la clé fournie ci-dessous. Si vous avez 2 enregistrements avec un SEQNUMBR de 16384, vous devez modifier l’un d’entre eux en 32768, si vous avez 2 enregistrements avec 65536, vous devez en mettre un à jour vers 81920, etc. Chaque ligne d’un document doit avoir son propre seqnumbr dans les multiples de 16384.
update RM10101 set SEQNUMBR = XXX where DEX_ROW_ID = XX
SEQNUMBR
-----------
16384
32768
49152
65536
81920
98304
If the first script does not return results, try these:
select * from RM10101 w, RM30301 h where
w.RMDTYPAL = h.RMDTYPAL and
w.DOCNUMBR = h.DOCNUMBR and
w.SEQNUMBR = h.SEQNUMBR
select a.TRXSORCE,a.RMDTYPAL,a.DOCNUMBR from RM20101 a, RM30301 b where
a.RMDTYPAL = b.RMDTYPAL and
a.DOCNUMBR = b.DOCNUMBR
This article was TechKnowledge Document ID:32359