Lỗi Sựcố - "[Microsoft] [TRÌNH điều khiển ODBC SQL Server] [SQL Server] Vi phạm ràng buộc PRIMARY KEY PKRM30301 Không thể Chèn khóa trùng lặp vào RM30301 đối tượng" xảy ra khi chạy Xóa giao dịch phải trả tiền trong Quản lý các khoản phải thu.Lưu ý - Khi bạn nhấn OK trên hộp thoại này, một hộp thoại thông tin sẽ xuất hiện cho biết "Thủ tục được lưu trữ trong Loại bỏ Giao dịch Phải trả tiền đã trả về kết quả sau: DBMS:2627, eEnterprise 0".Nguyên nhânTiềm năng Có một tài liệu trùng lặp ở một nơi nào đó trong bảng Các khoản phải thu. Thông thường, đó là số thứ tự trùng lặp. Độ phângiải 1. Chạy lệnh sau đối với cơ sở dữ liệu Công ty để tìm các bản ghi gây ra lỗi trên RM30301:chọn RMDTYPAL, DOCNUMBR, SEQNUMBR từ RM10101 group by RMDTYPAL, DOCNUMBR, SEQNUMBR having count(*) > 12. Sử dụng thông tin được trả về từ truy vấn trước đó, hãy chạy lệnh sau để xem dữ liệu cho một Số Tài liệu cụ thể:chọn SEQNUMBR dưới dạng NUMBR, * từ RM10101 trong đó DOCNUMBR = 'nhập Số Tài liệu từ bước 1' theo thứ tự NUMBR3. Cập nhật trường SEQNUMBR để không bị trùng lặp. Sử dụng khóa được cung cấp bên dưới. Nếu bạn có 2 bản ghi với SEQNUMBR của 16384, bạn cần thay đổi một trong số chúng thành 32768, nếu bạn có 2 bản ghi với 65536 bạn cần cập nhật một bản ghi thành 81920, v.v. Mỗi dòng của một tài liệu phải có seqnumbr duy nhất của riêng nó trong bội số của 16384. bản RM10101 đặt SEQNUMBR = XXX trong đó DEX_ROW_ID = XXSEQNUMBR----------- 163843276849152655368192098304Nếu tập lệnh đầu tiên không trả về kết quả, hãy thử những điều này:chọn * từ RM10101 w, RM30301 htrong đó w.RMDTYPAL = h.RMDTYPAL vàw.DOCNUMBR = h.DOCNUMBR vàw.SEQNUMBR = h.SEQNUMBRchọn a.TRXSORCE,a.RMDTYPAL,a.DOCNUMBR từ RM20101 a, RM30301 btrong đó a.RMDTYPAL = b.RMDTYPAL và a.DOCNUMBR = b.DOCNUMBRBài viết này là TechKnowledge Document ID:32359

TechKnowledge Nội dung

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.