08.12.2010 05:32
Если вы ко мне, то да, в кристалл обращались. Однако, если честно, то от кристалла добиться вменяемого ответа очень трудно.
Что кассается проблемы с insert'ами (там все было не так однозначно) на стороне centrum, то вероятнее всего то были баги в скрипатах. Потому что после обновления centrum до
5.2.80 все, что до того не грузилось залетело в centrum на раз-два-три.
Так что уже не актуально.
Вообще транспорт в 80-ке хорошо работает и если бы не глюки с выгрузкой, замечательный релиз бы был.
08.12.2010 06:26
добрый день! centrum выдает следующее:
08.12.2010 09:09:15.215 DEBUG: Поток мониторинга.204.GETSTATFREESPACE: putXML
08.12.2010 09:09:15.215 ERROR: Поток мониторинга.204.GETSTATFREESPACE: stopPut: Cannot insert the value NULL into column 'DeviceId', table 'SES_CENTRUM.dbo.ct_TransMonDeviceStat'; column does not allow nulls. INSERT fails.
08.12.2010 09:09:15.215 DEBUG: Created a new connection as set in pool sqlserver for class Поток мониторинга.204.GETSTATFREESPACE. Now have 10 connections checked out.
08.12.2010 09:09:15.215 ERROR: Поток мониторинга.204 Server Exception: Поток мониторинга.204.GETSTATFREESPACE: stopPutData
08.12.2010 09:09:15.215 ERROR: Поток мониторинга.204 processConnection: Поток мониторинга.204 Server exchanger exception

ошибка про insert всплывает и по другим магазинам - но она не мешает передаче данных.

p.s. gorbach спасибо большое за код! я его тока нмного подправила на
update chequehead set taken = 0 where (operday between 20101201 and 20101206)
это мне сохранило много времени =)

по поводу кристалловцев - начальник интересовался как-то по ошибке getstatfreespace - ничего толкового не сказали. Есть местная техподдержка, но они тоже не знают что это :(
08.12.2010 07:32
ну, вот, centrum ясно дает понять чего у него не выходит. Не может вставить запись со значением поля DeviceId равным NULL в таблицу SES_CENTRUM.dbo.ct_TransMonDeviceStat. Ошибка валится в потоке мониторинга по типу данных GETSTATFREESPACE.
Если это принципиально, то нужно разбираться откуда retail берет NULL в поле DeviceID. Можно кристалл спросить, может что подскажут.
Вообще, как уже говорили, отключите вы поток мониторинга, не сильно он важен.
Гораздо важнее, что происходит с чеками. У вас были ошибки в потоке транспорта чеков. Из-за них в centrum не попадают чеки. Нужно посмотреть, что пишет транспорт в лог на стороне centrum, когда чеки перестают приходить.
08.12.2010 08:06
Цитата:
что пишет транспорт в лог на стороне centrum, когда чеки перестают приходить
а он только это и пишет.
запустила через выше указанный код перевыгрузку чеков с 1-го по 5-е (предварительно очистив таблицу transfercmd) - за 3 дня выгрузилось и встало. ещё интересно - таблица transfercmd на магазине не освобождается. Наверно (судя по сообщениям) центрум не отправляет какой-то флаг на подтверждение и данные остаются в задачах (кст transfercmdhistory пустая). тогда возникает вопрос: есть ли ограничения на количество записей в этой многострадальной табличке? размер базы на данный момент меньше установленного в SQL Manager лимита.
я уже понимаю что проще попробывать всю поднаготную переставить (SQL, set, jre), но в ближайшие пару недель это наврядли возможно, да и вообще уже просто интересно =)
08.12.2010 08:24
нашла новые строчки

08.12.2010 11:16:13.171 DEBUG: Server (Поток транспорта чеков) <<< HANDSHAKE CHEQUE;CHEQUEBANK;OPERDAY;OPERGANG;OPERGANGMONEY;REPCASHMESS;REPDISCOUNTCARD id=204 protocol=2
08.12.2010 11:16:13.171 DEBUG: Server (Поток транспорта чеков.204) >>> HANDSHAKE CHEQUE;CHEQUEBANK;OPERDAY;OPERGANG;OPERGANGMONEY;REPCASHMESS;REPDISCOUNTCARD id=-1 protocol=2
08.12.2010 11:16:33.607 ERROR: Поток транспорта чеков.204 processConnection: readLine return Null
08.12.2010 08:52
строка
08.12.2010 11:16:33.607 ERROR: Поток транспорта чеков.204 processConnection: readLine return Null
это не то - в этот момент перезагружались службы
08.12.2010 09:24
Ограничений на количество записей в таблице transfercmd нет.
Отключите поток мониторинга (на retail и на centrum). Остановите службу транспорта на centrum. Удалите логи транспорта. На centrum в конфигурационном файле службы транспорта (config.conf) поставте DebugLevel = ERROR (будет в лог писать только ошибки). Запускайте службу транспорта. И смотрите, что будет в логах.
А как вы узнаете, что записи из таблицы не удаляются? Удаляются только те, которые были приняты в centrum. Как только в потоке транпорта ошибка, все, поток встает пока не будет устранена ошибка.
08.12.2010 09:40
08.12.2010 12:32:20.028 ERROR: Поток мониторинга.204.GETSTATFREESPACE: stopPut: Cannot insert the value NULL into column 'DeviceId', table 'SES_CENTRUM.dbo.ct_TransMonDeviceStat'; column does not allow nulls. INSERT fails.
08.12.2010 12:32:20.028 ERROR: Поток мониторинга.204 Server Exception: Поток мониторинга.204.GETSTATFREESPACE: stopPutData
08.12.2010 12:32:20.028 ERROR: Поток мониторинга.204 processConnection: Поток мониторинга.204 Server exchanger exception


вот эти 3 строчки повторяются
отслеживаю я содержание transfercmd в основном через количество строк:
select targetid,transfertype,count(*) from transfercmd (nolock) group by targetid,transfertype
это самый простой вариант )
08.12.2010 10:31
1. очистите табличку ct_TransMonDeviceStat
trancate table ct_TransMonDeviceStat.
2. по поводу акцептера, то да если он не вызывается то на магазине задания не грохаются, смотреть надо в настройках экспортных типов данных по чекам, сменам, дням...
3. по мониторингу, если Вы реально не пользуетесь утилитой SetMonitoring на Centrum то потоки мониторинга на Centrum и на Retail можно отключить.
4. в состав версии 05.02.79.03 (и соответственно 5.2.80) входят скрипты по мониторингу исправляющие все ошибки :)
по Centrum: 05028010_SETMonitorC_FullSetup.sql
по Retail: 05028010_SETMonitorR_FullSetup.sql
но после этого и утилиту SetMonitor надо брать тоже из этой версии
08.12.2010 10:59
а иабличка ct_TransMonDeviceStat за что отвечает? её чистить-то вообще можно?
по поводу версий - set retail стоит 79.003
мониторингом на магазинах пользуемся
Часовой пояс GMT +3, время: 20:13.

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