|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.06.2018, 17:51 | #1 |
Новичок
Джуниор
Регистрация: 19.06.2018
Сообщений: 1
|
Mismatch in datapacket
База на 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.' Поле ITEM_ID в таблице ITEM_PARAMS заполняется из таблицы EVR_ITEMS, где этому полю присваиваются значения через генератор (генератор выполняется в триггере, выдает значение перед вставкой в таблицу EVR_ITEMS): AS begin NEW.ID = GEN_ID(GEN_EVR_ITEMS_ID,1); if (new.item_no = -1) then new.item_no = null; end Изменения в базу записываются путем выполнения последовательно atEvrItems.Open; atItemParams.Open; Пробовал убрать триггер и генерировать новые ITEM_ID в коде, пробовал переписать триггер как в официальном мануале http://www.ibase.ru/generator/ Не помогло, ошибка возникает регулярно, но большую часть времени код работает правильно, программа не многопользовательская |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
type mismatch | 4anae6 | Microsoft Office Excel | 1 | 27.03.2013 23:51 |
DATAPACKET в XML | den.mob | Компоненты Delphi | 2 | 01.05.2012 12:24 |
TYPE MISMATCH | desnet | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 17.12.2011 10:25 |
алгоритм mismatch | getUp | Общие вопросы C/C++ | 2 | 07.12.2009 17:31 |