Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: ID переменной + MySQL = архивация  (Прочитано 1234 раз)

Серега

  • Постоялец
  • ***
  • Сообщений: 209
    • Просмотр профиля
ID переменной + MySQL = архивация
« : 26 Ноября 2018, 14:21:07 »
Добрый день!
Кратко о ситуации.
Было:
arOPC: переменная var_120.
SimpleScada: внеш. переменная Var_120. Адрес в ОРС var_120. ID переменной 2103 (Возможно был другой. См. вопросы). Архивация настроена
По стечению обстоятельств необходимо было поменять и в ОРС и в скаде имя переменной на var_121.
После изменений:
arOPC: переменная var_121.
SimpleScada: внеш. переменная var_121. Адрес в ОРС var_121. ID переменной 2103.
Пропали данные архивирования переменной за диапазон времени.
Вопрос№1. Может ли изменяться id переменной?
Вопрос№2. Можно ли проверять целостность базы данных средствами скады?

Серега

  • Постоялец
  • ***
  • Сообщений: 209
    • Просмотр профиля
Re: ID переменной + MySQL = архивация
« Ответ #1 : 26 Ноября 2018, 15:44:37 »
Продолжение. В базе нашли данные.
Получилось следующая ситуация. До изменения переменная var_120 имела id = 1087, после изменения имени и привязки к ОРС, id изменился на 2068. Это мы предполагаем исходя из архива запросов к базе данных и текущей конфигурации скады. Есть точная дата изменения. Есть данные для id = 1087 до этой даты и есть данные для id = 2068 после этой даты.
Можно объединить эти данные через UPDATE в самой базе с заменой id .
Вопрос. Данная процедура может повредить уже за архивированные данные?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3000
    • Просмотр профиля
    • Simple-Scada
Re: ID переменной + MySQL = архивация
« Ответ #2 : 26 Ноября 2018, 16:01:26 »
Здравствуйте.

Цитировать
Вопрос№1. Может ли изменяться id переменной?
ID-переменной не меняется при редактировании переменной. Однажды созданная переменная будет иметь уникальный ID на протяжении всего времени. Поэтому, если Вы видите в меню редактирования переменных, что ID сейчас другой, значит Вы либо создали новую переменную, либо продублировали имеющуюся, либо скопировали имеющуюся (новые, дублированные и копированные переменные получают свои уникальные ID).

Цитировать
Вопрос№2. Можно ли проверять целостность базы данных средствами скады?
Если целостность БД нарушится, или возникнут другие проблемы, то Вы увидите соответствующие сообщения в журнале сервера. Работать с данными в БД можно через MySQLWorkbench.

Цитировать
Есть данные для id = 1087 до этой даты и есть данные для id = 2068 после этой даты. Можно объединить эти данные через UPDATE в самой базе с заменой id. Вопрос. Данная процедура может повредить уже за архивированные данные?
Да, можно выполнить обновление ID с 1087 на 2068 в таблицах "trends_data", "trends_day", "trends_minute", "trends_hour". После этого данные отобразятся в трендах переменной с ID = 2068.

Серега

  • Постоялец
  • ***
  • Сообщений: 209
    • Просмотр профиля
Re: ID переменной + MySQL = архивация
« Ответ #3 : 22 Мая 2019, 16:12:58 »
Добрый день!
Думаю правильнее будет продолжить тему ID переменных здесь.
Дано:
- сервер
- на нем крутиться два разных проекта
- по стечению обстоятельств используется одна база данных в обоих проектах.
Вопросы:
1. Если в проекте №1 есть переменная var№1 с ID=2100, в проекте №2 может быть создана переменная var№34 с таким же ID = 2100? при условии одного сервера?
2. Рекомендуете ли Вы на каждый проект отдельную базу?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3000
    • Просмотр профиля
    • Simple-Scada
Re: ID переменной + MySQL = архивация
« Ответ #4 : 22 Мая 2019, 16:15:09 »
Здравствуйте.
Использование одной и той же БД для двух разных проектов обязательно рано или поздно приведёт к порче БД / проблемам в отображении трендов и как-то восстановить её не удастся. Каждый проект обязательно должен работать со своей отдельной БД.
« Изменён: 22 Мая 2019, 16:27:08 от Simple-Scada »