Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Серега от 26 Ноября 2018, 14:21:07

Название: 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. Можно ли проверять целостность базы данных средствами скады?
Название: Re: ID переменной + MySQL = архивация
Отправлено: Серега от 26 Ноября 2018, 15:44:37
Продолжение. В базе нашли данные.
Получилось следующая ситуация. До изменения переменная var_120 имела id = 1087, после изменения имени и привязки к ОРС, id изменился на 2068. Это мы предполагаем исходя из архива запросов к базе данных и текущей конфигурации скады. Есть точная дата изменения. Есть данные для id = 1087 до этой даты и есть данные для id = 2068 после этой даты.
Можно объединить эти данные через UPDATE в самой базе с заменой id .
Вопрос. Данная процедура может повредить уже за архивированные данные?
Название: Re: ID переменной + MySQL = архивация
Отправлено: Simple-Scada от 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.
Название: Re: ID переменной + MySQL = архивация
Отправлено: Серега от 22 Мая 2019, 16:12:58
Добрый день!
Думаю правильнее будет продолжить тему ID переменных здесь.
Дано:
- сервер
- на нем крутиться два разных проекта
- по стечению обстоятельств используется одна база данных в обоих проектах.
Вопросы:
1. Если в проекте №1 есть переменная var№1 с ID=2100, в проекте №2 может быть создана переменная var№34 с таким же ID = 2100? при условии одного сервера?
2. Рекомендуете ли Вы на каждый проект отдельную базу?
Название: Re: ID переменной + MySQL = архивация
Отправлено: Simple-Scada от 22 Мая 2019, 16:15:09
Здравствуйте.
Использование одной и той же БД для двух разных проектов обязательно рано или поздно приведёт к порче БД / проблемам в отображении трендов и как-то восстановить её не удастся. Каждый проект обязательно должен работать со своей отдельной БД.