问题
错误 - "[Microsoft] [ODBC SQL Server Driver] [SQL Server] 违反 PRIMARY KEY 约束 PKRM30301 无法在对象 RM30301 中插入重复密钥"时,在收信管理中运行付费事务删除时发生。
注意 - 在此对话框上点击"确定"时,会显示一个信息对话框,指出"付费交易删除中的存储过程返回了以下结果:DBMS:2627,eEnterprise 0"。
潜在原因
"现金"表中某处存在重复文档。 通常,它是重复的序列号。
解决方法
1. 针对公司数据库运行以下代码,查找导致 RM30301 错误的记录:选择
RMDTYPAL、DOCNUMBR、RM10101 组中按
RMDTYPAL、DOCNUMBR、SEQNUMBR 计数
为 (*) > 1
2 的 SEQNUMBR。 使用从上一查询返回的信息,运行以下命令以查看特定文档编号的数据:选择
"SEQNUMBR"作为"NUMBR",从 RM10101 中选择*,其中 DOCNUMBR = "输入步骤 1 中的文档编号"订单 #A0 NUMBR
3 #A1。 更新 SEQNUMBR 字段,以便不存在重复项。 使用下面提供的密钥。 如果有 2 条 SEQNUMBR 为 16384 的记录,则需要将其中一条更改为 32768,如果有 2 条记录包含 65536,则需要将一条记录更新为 81920,等等。文档的每一行都应具有其自己的唯一 seqnumbr(以 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