Помилка
помилки "[Microsoft] [драйвер ODBC SQL Server] [SQL Server] Порушення обмеження PRIMARY KEY PKRM30301 Не вдається вставити повторюваний ключ в об'єкті RM30301" виникає під час запуску платної транзакції видалення в рішень деактивації.
Примітка. Якщо натиснути кнопку OK у цьому діалоговому вікні, з'явиться діалогове вікно з відомостями про те, що "Збережена процедура в платному видаленні транзакцій повернула такі результати: DBMS:2627, eEnterprise 0" (Збережена процедура платної транзакції повертає такі результати: DBMS:2627, eEnterprise 0).
Потенційна
причина. У таблицях деактивації є повторюваний
документ. Зазвичай це повторюваний номер послідовності.
Вирішення
1. Виконайте наведені нижче дії в базі даних Company, щоб знайти записи, які призведуають до помилки RM30301: виберіть
елемент RRMYPAL, DOCNUMBR, SEQNUMBR групи RM10101 за групою
RRM30YPAL, DOCNUMBR, SEQNUMBR з аргументами
count(*) > 1
2. Використовуючи дані, повернуті з попереднього запиту, виконайте наведені нижче дії, щоб переглянути дані для певного номера документа: виберіть
SEQNUMBR як NUMBR, * з RM10101, де DOCNUMBR = 'enter the Document Number from step 1' order by NUMBR
3. Оновіть поле SEQNUMBR, щоб не повторити значення. Скористайтеся наведеною нижче клавішею. Якщо у вас 2 записи з SEQNUMBR 16384, потрібно змінити один із них на 32 768 (якщо у вас є 2 записи з 65536, потрібно оновити один до 81920 тощо). Кожен рядок документа повинен мати власний унікальний номер секнмbr у кратних 16384.
оновлення RM10101 задайте SEQNUMBR = XXX, де DEX_ROW_ID = XX
SEQNUMBR
-----------
16384
32768
49152
65536 81920 98304 Якщо перший сценарій не повертає результати, спробуйте такі
дії:
select * from RM10101 w, RM30301 h, де
w.RBRYPAL = h.RBRYPAL і
w.DOCNUMBR = h.DOCNUMBR і
w.SEQNUMBR = h.SEQNUMBR
select a.TRXSORCE,a.R ВОНИPAL,,a.DOCNUMBR з RM20101 a, RM30301 b,
де a.RLEDYPAL = b.R ВІДПУСТКИ ТАa.DOCNUMBR = b.DOCNUMBR Ця стаття була
TechKnowledge Document ID:32359