[ОТВЕТИТЬ]
Опции темы
31.10.2009 14:23  
Dim
делаю
alter table SUPERMAG.SMCASHDISCCARD enable validate constraint SMCASHDISCCARD_CHECK

в ответ получаю
ORA-02298: cannot validate (SUPERMAG.SMCASHDISCCARD_CHECK) - parent keys not found

Как лечить?
 
31.10.2009 15:02  
Dim
вдогонку... не принимается z-отчет, по которому есть продажи по дисконтным картам. ошибка такая:

Цитата:
В работе кассового модуля произошел сбой. Сообщения об ошибках см. ниже.
Запись 1. Код=80004005h (0) [SMUKMD~1]:
Ошибка при попытке импорта записи из таблицы CASHDCRD. Ключ записи "ShopIndex=2,CashNumber=4,ZNumber=710,CheckNumber=39,CardType=1,CardNumber=2999999999991".

Запись 2. Код=80040e2fh (1) [Microsoft OLE DB Provider for Oracle]:
ORA-00001: нарушено ограничение уникальности (SUPERMAG.SMCASHDISCCARD_PK)


Запись 3. Код=80004005h (0) [SmLibaryBase trace]:
insert into Supermag.SMCASHDISCCARD(LocID,DeskNum,ZNum,CheckNum,Code,DiscSum)
values(2,4,710,39,'2999999999991',TO_NUMBER('5,17','9D99','NLS_NUMERIC_CHARACTERS='','''))
оптимайзер прогонял - ошибка как в первом сообщении о невозможности включить констрейнт.
 
31.10.2009 16:16  
Dim
Oracle 8 кстати... запрос
Цитата:
select * from supermag.smcashdisccard t where t.code not in (select code from supermag.smdiscpers);
выдает, что "строки не выбраны"...
 
31.10.2009 16:58  
OlegON
Что-то я не соображаю, намешал все в кучу... В первом сообщении не включается и честно сообщает, что в чеках не хватает соответствующего чека. Во втором - лепит неуникальную запись по скидке. Ты зачем констрейнты отключал?
 
31.10.2009 17:20  
Dim
я не отключал. все началось 27 октября. перестали приниматься z-отчеты с руганью типа нарушен уникальный индекс.
скачал оптимайзер, прогнал, ругнулся на невозможность включить констрейнт.
что сделал... удалил все данные по z-отчетам с 27 октября. вручную вычистил соответствующие записи в smcashdisccard. пытаюсь включить констрейнт - не включается.
 
31.10.2009 19:22  
OlegON
Я предполагаю, что в SMCASHDISCCARD лишние записи, на которые ругается констрейнт и при приеме эти же записи еще и дублироваться пытаются.
 
31.10.2009 19:36  
OlegON
думаю, так
Цитата:
select locid,desknum,checknum,znum from smcashdisccard minus select locid,desknum,checknum,znum from smcashchecks;
 
31.10.2009 21:08  
Dim
резюмирую...
когда и кем был отключен констрейнт - неизвестно.
проблема была в записи в таблице smcashdisccard при отсутствующем чеке в таблице smcashchecks. отсутствовал чек за 12 декабря 2008 г. после удаления записи из таблицы smcashdisccard констрейнт включился. данных за 12 декабря по этой кассе нет вообще.

ЗЫЖ Спасибо Олегу.... в очередной раз ))
 
 
Опции темы



Часовой пояс GMT +3, время: 20:45.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.