Добрый день!
Есть сервер с Windows 2008 r2 64 бит
Супермаг в данный момент крутиться на Oracle 10g 10.0.2.0.4 на windows xp32 бит
Задача перейти на сервак с Windows 2008 r2 64 бит.
Oracle 10g на Windows 2008 r2 поставить нельзя.
Делаю на тестовой машине, правда на Xp 32 бит.
Поставил на xp oracle 11g r2 32 бит.
Создал базу, сделал на работающей базе экспорт, затем импорт в чистую.
Далее дал grand – ы, сделал перекомпиляцию invalid-объектов, остались не перекомпил.следующие
OWNER OBJECT_NAME STATUS
APEX_030200 WWV_FLOW_HELP INVALID
SUPERMAG SVSPECBASESUMACARTICLE INVALID
SUPERMAG SVSPECBASESUMAC INVALID
SYSMAN MGMT_ECM_POLICY INVALID
SYSMAN EM_FLAT_COMPTGT INVALID
SUPERMAG DOCAC INVALID
На этой машине (на которуя все ставлю) уже стоял супермаг 1.27.4 sp2
Запускаю супермаг-все работает, иперерасчет товародвиж. Запускаю кассовый сервер – невыгружает данные, в виндовых логах пишет -
В работе кассового модуля произошел сбой. Сообщения об ошибках см. ниже.
Запись 1. Код=80004005h (0) [Кассовый модуль Супермага]:
Фатальная ошибка выгрузки данных на кассы.
Запись 2. Код=80004005h (8176) [Microsoft OLE DB Provider for Oracle]:
ORA-08176: сбой согласованного чтения; данные отката недоступны
ORA-06512: на "SUPERMAG.CASH", line 80
ORA-06512: на "SUPERMAG.CASH", line 152
ORA-06512: на "SUPERMAG.CASH", line 159
ORA-06512: на line 1
Запись 3. Код=80004005h (0) [SmLibaryBase trace]:
{ call Supermag.Cash.FillDiscCardChanges(?, ?) }
Переустанавливаю Супермаг. Сразу пытаюсь запустить Сервер приложений – пишет –
2010.06.17 (Thursday) 11:41:42
----- Прерывание работы программы -----
сообщение: "Индекс находился вне границ массива."
исключение: System.IndexOutOfRangeException
источник: Sm.Main
метод: Sm.Main.Login.LoginForm CreateLoginForm()
в Sm.Main.Login.LoginForm.CreateLoginForm()
в Sm.Main.Sm2000ApplicationContext..ctor()
в Sm.Main.Program.Main()
Решил прогнать Генератор БД – сначало работает потом вываливает ошибку-
InitProc
Модернизация версии 1.027.4.
PreUpgrade
PostUpgrade
…………..
DocRLProc
DocACProc – тут вылезает ошибка
decode(count(*),1,max(SP.ItemPrice), decode(T.Treatment, '1',min(SP.ItemPrice), '3',avg(SP.ItemPrice), '4', sum(SP.ItemPrice*SP.Quantity)/ decode(sum(SP.Quantity),0,1,sum(SP.Quantity)), max(SP.ItemPrice))) as ItemPrice,
*
Ошибка в строке 3:
ORA-00979: Выражение не является выражением GROUP BY
Может кто сталкивался – подскажите.
Заранее спасибо!