Problemos
klaida – "[Microsoft] [ODBC "SQL Server" tvarkyklė] ["SQL Server"] Pirminio rakto apribojimo PKRM30301 negalima įterpti pasikartojančio rakto objekte RM30301 pažeidimas" įvyksta, kai veikia mokamas operacijų šalinimas gautinų sumų valdymo srityje.
Pastaba. Kai šiame dialogo lange paspausite Gerai, bus rodomas informacijos dialogo langas, kuriame nurodyta :"Išsaugota procedūra apmokėtos operacijos šalinimo metu pateikė šiuos rezultatus: DBMS:2627, eEnterprise 0".
Galima priežastis
Yra pasikartojantis dokumentas, kuris yra kažkurioje lentelių Gautinos sumos vietoje. Paprastai tai yra pasikartojantis sekos numeris.
1 skiriamoji geba. Vykdykite šiuos veiksmus įmonės duomenų bazėje, kad rastumėte įrašus, dėl kurių įvyko klaida RM30301: pasirinkite
RMDTYPAL, DOCNUMBR, SEQNUMBR iš RM10101
grupės pagal RMDTYPAL, DOCNUMBR, SEQNUMBR, kurių
skaičius(*) > 1
2. Naudodami iš ankstesnės užklausos grąžinamą informaciją, vykdykite toliau nurodytus veiksmus, kad galėtumėte peržiūrėti konkretaus dokumento numerio duomenis: pasirinkite
SEQNUMBR kaip NUMBR, * iš RM10101, kur DOCNUMBR = "įveskite dokumento numerį iš 1 veiksmo" eilės pagal NUMBR
3. Atnaujinkite lauką SEQNUMBR, kad nebūtų dublikato. Naudokite toliau pateiktą raktą. Jei turite 2 įrašus su 16384 SEQNUMBR, turite pakeisti vieną iš jų į 32768, jei turite 2 įrašus su 65536, turite atnaujinti vieną į 81920 ir t. t. Kiekviena dokumento eilutė turi turėti savo unikalų seqnumbr 16384 kartotiniuose.
update RM10101 set SEQNUMBR = XXX where DEX_ROW_ID = XX
SEQNUMBR
-----------
16384
32768
49152
65536
81920 98304 Jei pirmasis scenarijus negrąžina rezultatų, pabandykite
šiuos
veiksmus:
pasirinkite * iš RM10101 w, RM30301 h, kur
w.RMDTYPAL = h.RMDTYPAL ir
w.DOCNUMBR = h.DOCNUMBR
ir w.SEQNUMBR = h.SEQNUMBR
pasirinkite a.TRXSORCE,a.RMDTYPAL,a.DOCNUMBR iš RM20101 a, RM30301 b, kur
a.RMDTYPAL = b.RMDTYPAL
ira.DOCNUMBR = b.DOCNUMBR Šis straipsnis
buvo "TechKnowledge" dokumento ID:32359