Simple-Scada forum

Simple-Scada 2 => Ошибки => Тема начата: EricFlat от 28 Марта 2019, 11:27:12

Название: Выполнение Insert запроса MS SQL
Отправлено: EricFlat от 28 Марта 2019, 11:27:12
Добрый день.
В проекте организован алгоритм записи данных из контроллера в БД. Запросы записи выполняются по таймеру, не чаще чем каждые 15 секунд.
Иногда возникают ситуации, когда в БД оказываются записи от нескольких повторяющихся Insert запросов иногда c разницей во времени в секунду.
На скриншоте показана таблица из БД. Красным обвел повторяющиеся записи.
Пока не могу определить, с чем это связано. Есть подозрение, что процедура RunSQL выполняется несколько раз за вызов. Есть возможность логгировать вызов RunSQL?
Название: Re: Выполнение Insert запроса MS SQL
Отправлено: Simple-Scada от 29 Марта 2019, 11:10:42
Здравствуйте.

Мы можем лишь гарантировать, что один вызов RunSQL из скрипта приводит только к одному выполнению запроса. Скада не выполняет повторные попытки даже в случае ошибки в запросе. Поэтому несколько запросов может быть выполнено только если скрипт с RunSQL будет вызван несколько раз, что скорее всего и происходит у Вас.

Цитировать
Есть возможность логгировать вызов RunSQL?
Можно в каждом скрипте перед вызовом RunSQL добавить Log_Add (https://simple-scada.com/help/script/logadd.html) с текстом запроса, тогда все RunSQL будут записываться в лог-файл. В ближайшее время станет доступна новая версия скады в которой будет опция автоматического логгирования запросов с информацией о скриптах из которых был вызван RunSQL.
Название: Re: Выполнение Insert запроса MS SQL
Отправлено: Simple-Scada от 31 Марта 2019, 11:04:25
Отправили обновление с возможностью лога RunSQL Вам на e-mail.