Здравствуйте! Данные из БД MicrosoftSQL вытягиваются запросом. Обновляются и записываются они только путем нажатия на кнопку (в режиме профайлера) Подскажите пожалуйста, как можно автоматизировать данный процесс? Понятно что программой, прошу более конкретной помощи
Posted by Nico (Участник № / Member № 5342) on :
в реальное значение канала CALL(связанного с шаблоном SQL) записать требуемое значение любым способом
Posted by Lyaysan (Участник № / Member № 7609) on :
Извините, не совсем поняла (или быть может объяснила не правильно, не совсем продвинутый пользователь ). Данные в БД записываются без участия Trace Mode. Мне нужно как раз таки вытянуть эти данные (данные обновляются каждую минуту) в поле текст.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
См. описание в справке: Распределенные АСУ - Обмен с базами данных - Создание и выполнение SQL-запросов - выполнение SQL-запросов в реальном времени: "Для выполнения запроса в канал CALL.SQLQuery нужно записать 1. После отработки значение канала автоматически сбрасывается в 0." В реальное значение CALL.SQLQuery можно записать вручную, допустим с помощью кнопки, или к примеру с помощью программы. В справке в разделе Быстрый Старт описан простой проект, при повторении которого многие вопросы должны отпасть. Там же есть пример запроса к БД. Также есть видеоуроки на сайте по данной теме: http://www.adastra.ru/products/drivers/odbc/ Posted by Lyaysan (Участник № / Member № 7609) on :
Разобралась, спасибо! Только сейчас почему-то проект начал выводить ошибку Calc loop is big. Через пару секунд/минут возвращает Calc Loop Ok. В чем может быть проблема?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Данное сообщение не является ошибкой, это сообщение системы встроенного контроля МРВ См. справку: Отладка проекта - Файл tm6_log.txt - Виды сообщений в файле tm6_log.txt. Превышено время цикла CALC. Т.е. за заданное время цикла система не успела обработать всю базу каналов узла.
Диагностировать в реальном времени можно через служебную панель МРВ. См. справку: Отладка проекта - Профайлер с поддержкой графических экранов - Панель МРВ - вкладка Диагностика - информация о временах циклов... . abv - count – счетчик превышений времени цикла. Если превышения были единичные, допустим при старте или при каком-то отдельном событии, которое сильно нагрузило систему (там же есть время последнего превышения), и при этом показания счетчика при нормальной работе не растут, то беспокоиться не стоит. Если показания счетчика при штатной работе постоянно растут, следует озаботиться поиска причины, оптимизировать проект или апгрейдить/менять ПК.