[ТЕМА ЗАКРЫТА]
04.03.2008 16:23
Anton Zhaparov
 
Доброго времени суток!

При пересылке штрихового кода из центральной базы в базу магазина возникает ошибка.

Обьект Штриховой код


Невозможно записать в БД объект «BC, 4820107240071<tab>1204859», таблица «SVSTOREUNITS»


ORA-00001: нарушено ограничение уникальности (SUPERMAG.SMCBARCODE_PK)
ORA-06512: на "SUPERMAG.SVSTOREUNITSBEFOREIU", line 58
ORA-04088: ошибка во время выполнения триггера 'SUPERMAG.SVSTOREUNITSBEFOREIU'


Штриховой код 4820107240071 в базе магазина отсутствует.

Подскажите кто-нибудь, pls., в чем может быть дело?
04.03.2008 17:08
Mtirt
 
Версия Супермага?

Хотя больше всего похоже именно на то, что такой штриховой код в базе магазина всё же есть.
Этот запрос точно ничего не возвращает?
Код:
select * from svstoreunits where code like'%4820107240071%'
07.03.2008 14:30
Mtirt
 
А можно узнать, что в итоге случилось?
А то я волноваться начинаю...
10.03.2008 03:19
Shiba
 
Только не "code", a "barcode".
Когда у меня появилась эта проблема, то запросом в подчиненной проблемной базе были отобраны артикулы, на которых стоял штрихкод, который пересылался из ЦО с другой карточкой.
Поэтому, делаю вывод, что проблема в том,ч то в ЦО и в подчиненной базе один и тот же штрихкод стоит на разных карточках.
10.03.2008 16:19
Mtirt
 
Да, прошу прощения, barcode.

Только хотелось бы услышать ответ от автора топика. :(
Всё-таки сейчас проблема у него, а не у вас...
19.03.2008 12:37
Shiba
 
У меня была точно такая же проблема.
Один и тот же штрихкод принадлежит разным артикулам а разных базах.
27.05.2016 08:37
fdima
 
Здравствуйте

Точно такая же проблема как у автора этого топика. Супермаг 1,028,2 сп5
Из Центральной базы не идет карточка в магазин, хотя такого ШК нет в магазинской базе

По совету выше я сделал запрос

select * from svstoreunits where code like'%4820107240071%'

который возвращает 2. Я правильно понимаю, что у 2 карточек в магазинской базе стоит этот ШК? Если да, то какой командой можно их идентифицировать?
27.05.2016 09:08
-Den-
 
delete from SVStoreUnits where Barcode = 4820107240071

Но перед этим сделать select * from SVStoreUnits where Barcode = 4820107240071 ,посмотреть артикул, зайти в супермаг и посмотреть что там, может и не придется "химичить")
27.05.2016 10:12
ReDHawK
 
Цитата:
fdima Здравствуйте

Точно такая же проблема как у автора этого топика. Супермаг 1,028,2 сп5
Из Центральной базы не идет карточка в магазин, хотя такого ШК нет в магазинской базе

По совету выше я сделал запрос

select * from svstoreunits where code like'%4820107240071%'

который возвращает 2. Я правильно понимаю, что у 2 карточек в магазинской базе стоит этот ШК? Если да, то какой командой можно их идентифицировать?
Нет, это значит что запрос не выполнен и программе перевела вас на вторую строку. Или поставьте ; в конце запроса или если уж забыли, то поставьте во сторой строке и нажмите энтер.
27.05.2016 10:15
ReDHawK
 
Попробуйте такие запросы:
select * from smstoreunits where barcode='4820107240071';
select * from smforeignunits where barcode='4820107240071';
не забывайте точку с запятой в конце запроса.
27.05.2016 13:08
fdima
 
Цитата:
ReDHawK Попробуйте такие запросы:
select * from smstoreunits where barcode='4820107240071';
select * from smforeignunits where barcode='4820107240071';
не забывайте точку с запятой в конце запроса.
Попробовал. В ответ пишет:

ERROR at line 1:
ORA-00942: table or view does not exist


Цитата:
-Den- delete from SVStoreUnits where Barcode = 4820107240071
И это попробовал. Тоже самое пишет ORA-00942: table or view does not exist
27.05.2016 13:20
-Den-
 
к базе подключитесь под пользователем supermag
27.05.2016 14:06
whitewizard
 
или так:
select * from supermag.smstoreunits where barcode='4820107240071';
select * from supermag.smforeignunits where barcode='4820107240071';
28.05.2016 12:49
fdima
 
Цитата:
-Den- к базе подключитесь под пользователем supermag
Под пользователем supermag вывелась табллица, но в ней вместо артикула стоит "??". Проверил для другого ШК, там артикул виден нормально

В итоге я удалил этот ШК командой select * from svstoreunits where barcode='4820107240071';

и потом сделал повторную рассылку из ЦО проблемного ШК, но в результате опять та же самая ошибка уникальности

Пробовал удалить еще из таблиц smforeignunits и smstoreunits и загрузить из ЦО и тоже безуспешно
28.05.2016 13:04
OlegON
 
Судя по всему, почтовик работает без региональных настроек.
https://olegon.ru/showthread.php?p=148622#post148622
30.05.2016 09:20
fdima
 
Цитата:
OlegON Судя по всему, почтовик работает без региональных настроек.
https://olegon.ru/showthread.php?p=148622#post148622

Спасибо за ссылку. Проверил, все стоит как написано у вас

Что выяснилось за выходные. Оказывается наш оператор месяц назад создала этот ШК, потом через неделю удалила, по непонятной причине, и вот снова решила создать этот же ШК, но уже не получилось

Может проблема в том, что нельзя один и тот же ШК создавать для одного артикула в Супермаге?

И еще. Когда я делаю команду select * from smstoreunits where barcode = 'ШК', то в появившейся табличке у зависшего ШК указан barcodetype =8. В то время как у всех нормальных =7. Я так понимаю что 7 = внешний ШК, а что такое 8?
30.05.2016 09:32
Dim
 
этот штрихкод остался в базе какого-то магазина и select'ы надо делать в базах магазинов, а не в центральной базе
01.06.2016 13:13
ReDHawK
 
Цитата:
fdima
В итоге я удалил этот ШК командой select * from svstoreunits where barcode='4820107240071';
select - это не оператор удаления
02.06.2016 07:00
fdima
 
победил я таки эту проблему. Да, конечно же я все процедуры делал в магазинской базе и удалял оператором delete(выше я опечатался), но.....не знал, что после оператора delete еще надо ставить оператор commit; для успешного завершения транзакции

В итоге я удалил "зависший" ШК в подчиненной базе, сделал рассылку из ЦО этого ШК и все встало на свои места

Всем большое спасибо
Опции темы


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

 

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