ошибка 44. IBReplicator от Interbase 7.1
Модератор: kdv
ошибка 44. IBReplicator от Interbase 7.1
Здравствуйте.
В базу даных добавил таблицу с ПК: ID, RN. Прописал эту таблицу в схему репликации? сохздал системные объекты -- всё как положено. При репликации данных (нужно проапдейтить записи) выдает в лог ошибку, виде:
ошибка 44 -- выбираю несколько строк при единичном select.
Проверка по базам данных показала, запись и в источнике, и в приемнике -- одна. Никаких "множество" быть не может. Проверял скрипты (выводит в лог репликатор) -- по тем значениям, что репликатор пишет в свою repl_log: тоже одна запись находится.
Что за глюк и как поправить?
Самое странное, что в БД есть ещё таблицы с похожим ПК, так они нормально реплицируются.
В базу даных добавил таблицу с ПК: ID, RN. Прописал эту таблицу в схему репликации? сохздал системные объекты -- всё как положено. При репликации данных (нужно проапдейтить записи) выдает в лог ошибку, виде:
ошибка 44 -- выбираю несколько строк при единичном select.
Проверка по базам данных показала, запись и в источнике, и в приемнике -- одна. Никаких "множество" быть не может. Проверял скрипты (выводит в лог репликатор) -- по тем значениям, что репликатор пишет в свою repl_log: тоже одна запись находится.
Что за глюк и как поправить?
Самое странное, что в БД есть ещё таблицы с похожим ПК, так они нормально реплицируются.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: ошибка 44. IBReplicator от Interbase 7.1
А если подробнее и без отсебятины? Версия репликатора, точное сообщение об ошибке, кусок лога. 44-я ошибка это execute update. Никаким select там пахнуть не может, тем более - на русском.
Re: ошибка 44. IBReplicator от Interbase 7.1
Пожалуйста, кусок лога со всеми подробностямиDimitry Sibiryakov писал(а):А если подробнее и без отсебятины?
Код: Выделить всё
Update 2*1
SELECT M_CREATEDATE,M_CREATEUSER,M_INHABITANTS_NUM,M_LASTUPDATE,M_LASTUSER,M_STATUS,M_ID,M_RAYON_NUM FROM CMN_MAKETS WHERE M_ID = ? AND M_RAYON_NUM = ?
INSERT INTO CMN_MAKETS ( M_CREATEDATE , M_CREATEUSER , M_INHABITANTS_NUM , M_LASTUPDATE , M_LASTUSER , M_STATUS , M_ID , M_RAYON_NUM ) VALUES (? , ? , ? , ? , ? , ? , ? , ? )
UPDATE CMN_MAKETS SET M_CREATEDATE= ? , M_CREATEUSER= ? , M_INHABITANTS_NUM= ? , M_LASTUPDATE= ? , M_LASTUSER= ? , M_STATUS = ? WHERE M_ID = ? AND M_RAYON_NUM = ?
DELETE FROM CMN_MAKETS WHERE M_ID = ? AND M_RAYON_NUM = ?
PLAN (CMN_MAKETS INDEX (RDB$PRIMARY102))
PLAN (CMN_MAKETS INDEX (RDB$PRIMARY102))
PLAN (CMN_MAKETS INDEX (RDB$PRIMARY102))
Wed Jul 01 11:25:43 2009
ErrorNo: 44 - multiple rows in singleton select
multiple rows in singleton select
Пара: M_ID = 2 и M_RAYON_NUM = 1 -- уникальна, выборка по таблице дает только 1-у запись.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: ошибка 44. IBReplicator от Interbase 7.1
Типы полей M_ID и M_PAYON_NUM скажи... И проверь всю цепочку триггеров на UPDATE таблицы CNM_MAKETS, поскольку на обычный UPDATE эта ошибка ну никак не может вылезти.
Хотя, один фиг - это окаменелое дерьмо мамонта (1.1) уже не поддерживается никем.
Хотя, один фиг - это окаменелое дерьмо мамонта (1.1) уже не поддерживается никем.
Re: ошибка 44. IBReplicator от Interbase 7.1
INTEGERDimitry Sibiryakov писал(а):Типы полей M_ID и M_PAYON_NUM скажи...
Посмотрю, спасибо. Я бы рад его прикопать, но не я решаюDimitry Sibiryakov писал(а):И проверь всю цепочку триггеров на UPDATE таблицы CNM_MAKETS, поскольку на обычный UPDATE эта ошибка ну никак не может вылезти.
Хотя, один фиг - это окаменелое дерьмо мамонта (1.1) уже не поддерживается никем.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: ошибка 44. IBReplicator от Interbase 7.1
А лицензия на это ископаемое не иначе как с хасталависты...