|
|
|
Mismatch in datapacket
|
|||
|---|---|---|---|
|
#18+
Delphi 2006 + База на Firebird 2.5 Вставка записей в таблицы ITEM_PARAMS, EVR_ITEMS происходит через компоненты IBTable (atItemParams, atEvrItems). В таблице EVR_ITEMS поле ITEM_ID с ключем primary key В таблице ITEM_PARAMS два поля: ITEM_ID, PARAM. PK_ITEM_PARAMS (primary key) действует на эти два поля. Периодически возникает ошибка ОШИБКА:'violation of PRIMARY or UNIQUE KEY constraint "PK_ITEM_PARAMS" on table "ITEM_PARAMS"' за ней ОШИБКА:'Mismatch in datapacket.' стек вызовов: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Поле ITEM_ID в таблице ITEM_PARAMS заполняется из таблицы EVR_ITEMS, где этому полю присваиваются значения через генератор (генератор выполняется в триггере, выдает значение перед вставкой в таблицу EVR_ITEMS): Код: sql 1. 2. 3. 4. 5. 6. Изменения в базу записываются путем выполнения последовательно atEvrItems.Open; atItemParams.Open; Пробовал убрать триггер и генерировать новые ITEM_ID в коде, пробовал переписать триггер как в официальном мануале http://www.ibase.ru/generator/ Не помогло, ошибка возникает регулярно, но большую часть времени код работает правильно, программа не многопользовательская Подскажите как поправить или куда копать? переделать на другие компоненты не получится, слишком большой проект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2018, 13:47 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39663638&tid=2040717]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
189ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 539ms |

| 0 / 0 |
