ModDBExport: ошибки при экспорте в БД MySQL

Стартовая страница Форумы Ошибки в работе Ошибки Сервера ModDBExport: ошибки при экспорте в БД MySQL

Помечено: 

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Автор
    Сообщения
  • #10138
    ilyxa
    Участник

    Настойка ModDBExport произведена (ровно как здесь http://doc.rapidscada.net/content/ru/modules/mod-db-export.html), MySQL (solaris/5.7), RapidScada на Debian9(x86).

    Ошибки в логах:

    2018-08-09 20:03:33 Ошибка при экспорте текущих данных в БД MySQL - snooky-int: Duplicate entry '2018-08-09 20:03:33-1000' for key 'PRIMARY'
    2018-08-09 20:04:33 Ошибка при экспорте текущих данных в БД MySQL - snooky-int: Duplicate entry '2018-08-09 20:04:34-1000' for key 'PRIMARY'
    2018-08-09 20:05:34 Ошибка при экспорте текущих данных в БД MySQL - snooky-int: Duplicate entry '2018-08-09 20:05:34-1000' for key 'PRIMARY'
    2018-08-09 20:06:35 Ошибка при экспорте текущих данных в БД MySQL - snooky-int: Duplicate entry '2018-08-09 20:06:35-1000' for key 'PRIMARY'

    Их много:

    scada@scada:/opt/scada/ScadaServer/Log$ grep PRIMARY /opt/scada/ScadaServer/Log/ModDBExport.log  | wc -l
    1020

    Либо я что-то не докрутил с датой — либо я чего-то не понимаю 😉

    Данные поступают от пачки устройств mqtt через плагин допиленный KpMqtt, все рисуется и сохраняется, приходят пакетированно (то есть пять минут — ничего, потом может быть длинный «сарафан» по входящим каналам, единомоментно).

    Запросы потом такого типа:
    select group_concat(truncate(val,3) separator ', ') from cnldata where cnlnum IN (1002, 1003) GROUP BY datetime;

    В принципе — единичные пропуски погоды не сделают, но графики портят 😉

    Я не спец в программировании, но мне не понятна вот эта приписка в дате: 2018-08-09 20:06:35-1000. На TZ не похоже, сервер в локали ru_RU.UTF-8.

    Есть варианты не терять данные? Что я делаю не так?

    #10139
    ilyxa
    Участник

    PS: смена локали на C никакого видимого эффекта не оказывает.

    #10140
    ilyxa
    Участник

    понял, 1000 — это номер канала, подставляемого в primary key.

    #10141
    ilyxa
    Участник

    https://forum.rapidscada.org/?topic=moddbexport-to-oracle

    Около того решение…

    #10152
    Mikhail
    Модератор

    Эта ошибка означает, что происходит попытка вставить пару время-канал, которая уже существует в базе. По этой ссылке решение, которое просто перезаписывает данные поверх.

    #10156
    ilyxa
    Участник

    Понимание, что происходит в БД, у меня есть, перезапись значений меня не совсем устраивает. Я вернусь с другим решением, но чуть позже. Идею понял, ответ услышал.

    #10166
    Mikhail
    Модератор

    ОК, пишите.

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Вы должны авторизироваться для ответа в этой теме.