Problēmas kļūda
— "[Microsoft] [ODBC SQL Server draiveris] [SQL Server] Primārās atslēgas ierobežojuma PKRM30301 pārkāpumu nevar ievietot objekta RM30301 atslēgas dublikātu" rodas, izpildot izpildīto apmaksāto transakciju noņemšanu saņemamās summas pārvaldībā.
Piezīme. Kad šajā dialoglodziņā iespiedīsit pogu Labi, tiks parādīts informācijas dialoglodziņš ar tekstu "Iekļautā procedūra sadaļā Maksas transakciju noņemšana atgrieza šādus rezultātus: DBMS:2627, eEnterprise 0".
Iespējamais
iemesls Ir dublēts dokuments, kas atrodas klientu tabulās. Parasti tas ir secības numura dublikāts.
Izšķirtspēja
1. Datu bāzē Uzņēmums izpildiet šādu darbību, lai atrastu ierakstus, kas izraisa kļūdu RM30301: atlasiet
RMDTYPAL, DOCNUMBR, SEQNUMBR no RM10101 grupas, ko
RMDTYPAL, DOCNUMBR, SEQNUMBR
ar skaitu(*) > 1
2. Izmantojot iepriekšējā vaicājuma atgriezto informāciju, lai skatītu datus konkrētam dokumenta numuram, izpildiet šādu komandu: atlasiet
SEQNUMBR kā NUMBR, * no RM10101, kur DOCNUMBR = "ievadiet dokumenta numuru no 1. darbības" secībā ar NUMBR
3. Atjauniniet lauku SEQNUMBR, lai tam nebūtu dublikāta. Izmantojiet tālāk sniegto atslēgu. Ja jums ir 2 ieraksti ar SEQNUMBR 16384, viens no tiem ir jāmaina uz 32768, ja jums ir 2 ieraksti ar 65536, kas jāatjaunina uz 81920 utt. Katrai dokumenta rindiņai ir jābūt atsevišķai unikālajai seqnumbr 16384 vairākkārtņu kopās.
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, kur
w.RMDTYPAL = h.RMDTYPAL un
w.DOCNUMBR = h.DOCNUMBR un
w.SEQNUMBR = h.SEQNUMBR, atlasa
a.TRXSORCE,a.RMDTYPAL,a.DOCNUMBR no RM20101 a, RM30301 b, kur
a.RMDTYPAL = b.RMDTYPAL un
a.DOCNUMBR = b.DOCNUMBR Šis raksts
bija TechKnowledge dokumenta ID:32359