Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

ORA-02296: cannot enable (SUPERMAG.) - null values found при генерации на 1.030.2 : Супермаг Плюс (Супермаг 2000)

22.11.2024 2:57


25.10.2013 19:43
приехали...
Цитата:
Модернизация версии 1.030.1.
PreUpgrade
1.030.2\30_1To30_2_a
Цитата:
PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


View created.

***** Sys.sql *****

PL/SQL procedure successfully completed.


Commit complete.

***** Schedule.sql *****

1 row updated.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.

declare
*
ERROR at line 1:
ORA-02296: cannot enable (SUPERMAG.) - null values found
ORA-06512: at line 16
ошибка тут

Цитата:
declare
i pls_integer;
begin
SMInitNewField('SSControlFunctions', 'What', 'VARCHAR2(4000)');
select count(*) into i from user_tab_columns
where table_name=upper('SSControlFunctions')
and column_name=upper('What')
and NULLABLE = 'Y';
if i=1 then
execute immediate 'update SSControlFunctions f set f.What=(select s.What from SASchedule s where s.ID=f.ID)'||
' where f.What is null and f.FnType in (''AD'',''SS'')';
execute immediate 'update SSControlFunctions f set f.What=''begin SaleRate.RunSaleRateTask(:pTaskID); end;'''||
' where f.What is null and f.ID=21';
execute immediate 'update SSControlFunctions f set f.What=''begin Goods.RunStoreOrdersTask(:pTaskID); end;'''||
' where f.What is null and f.ID=22';
execute immediate 'alter table SSControlFunctions modify What not null';
end if;
end;
/
25.10.2013 21:24
Вскрытие показало, что ошибка в последней строке. Соответственно, лечится
Код:
delete from SSControlFunctions where What is null;
откуда там нуллы взялись - оставляю на совести программеров С+
27.10.2013 16:30
Задрали уже ... тот же косяк
28.10.2013 15:42
Обновление проходит так:
1.останавливаем все службы СМ+
2. копия базы(и будет вам счастье)
3. запускаем Генератор БД ... после ошибки закрываем его
4. под supermag выполняем
delete from SSControlFunctions f where f.What is null;
commit;
5. Выставляем версию СМ+
UPDATE SSSYSINFO SET PARAMVALUE='1.030.1' WHERE PARAMNAME='Version';
UPDATE SSSYSINFO SET PARAMVALUE='Upgrade completed' WHERE PARAMNAME='UpgradeStep';
COMMIT;
6 Прогнать Генератор БД

и вроде как взвелось все.
30.10.2013 14:13
Либо обновление проходит так:
1.останавливаем все службы СМ+
2. копия базы(и будет вам счастье)
3. устанавливаем версию 1.030.1
4. запускаем Генератор БД, выполняется без ошибок.
5. устанавливаем 1.030.1 сп4 или сп5, прогоняем скрипты.
6. устанавливаем версию 1.030.2
7. запускаем Генератор БД, выполняется без ошибок.

Это был совет от С+, когда с этим же столкнулись. т.е. обновление до 1.030.2 только через промежуточное обновление до 1.030.1
30.10.2013 19:01
блин только сегодня 1.28 поднимал до 1.30.2... проблем не было...
странно...
31.10.2013 17:38
Цитата:
Starter Это был совет от С+, когда с этим же столкнулись. т.е. обновление до 1.030.2 только через промежуточное обновление до 1.030.1
Забыл упомянуть - обновлялись с 1.29.3 сп4.
02.11.2013 09:51
Еще один переход, с 1.029.3 SP6, упало...
17.12.2013 10:10
Цитата:
Starter Либо обновление проходит так:
1.останавливаем все службы СМ+
2. копия базы(и будет вам счастье)
3. устанавливаем версию 1.030.1
4. запускаем Генератор БД, выполняется без ошибок.
5. устанавливаем 1.030.1 сп4 или сп5, прогоняем скрипты.
6. устанавливаем версию 1.030.2
7. запускаем Генератор БД, выполняется без ошибок.

Это был совет от С+, когда с этим же столкнулись. т.е. обновление до 1.030.2 только через промежуточное обновление до 1.030.1
Обновление аналогично не прошло, но рекомендация помогла.
Спасибо!
17.12.2013 10:13
Цитата:
Kryukov Обновление проходит так:
1.останавливаем все службы СМ+
2. копия базы(и будет вам счастье)
3. запускаем Генератор БД ... после ошибки закрываем его
4. под supermag выполняем
delete from SSControlFunctions f where f.What is null;
commit;
5. Выставляем версию СМ+
UPDATE SSSYSINFO SET PARAMVALUE='1.030.1' WHERE PARAMNAME='Version';
UPDATE SSSYSINFO SET PARAMVALUE='Upgrade completed' WHERE PARAMNAME='UpgradeStep';
COMMIT;
6 Прогнать Генератор БД

и вроде как взвелось все.
Спасибо!
Обновились - все успешно.
Часовой пояс GMT +3, время: 02:57.

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