Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Мониторы Реального Времени / Real Time Monitors » Выполнение SQL-запросов RTM в реальном времени

   
Автор / Author Тема / Topic: Выполнение SQL-запросов RTM в реальном времени
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 5 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте уважаемые Господа разработчики!

Цитата из раздела хелпа "Выполнение SQL-запросов в реальном времени":
"Если SQL-запрос по каким-либо причинам выполнить невозможно, то по истечении 600 секунд с момента инициализации запроса каналу CALL устанавливается признак аппаратной недостоверности."
В действительности установки каналу вызывающему шаблон связи с БД признак аппаратной недостоверности не устанавливается, хотя судя по работе ODBC драйвера ч/з несколько десятков секунд где то около 20-30 RTM освобождает драйвер, но 4-й атрибут остаётся равным нулю.
Всё бы ничего, только в реальных условиях невозможно отследить корректность работы с базой по этому каналу (который шаблон связи вызывает) и соответственно прекратить записывать во входное значение этого канала №запроса для чтения с базы информации. Там (в хелпе) есть ещё вот это:"Значение канала CALL задает номер выполняемого запроса (см. Создание SQL-запросов ). После отработки, значение канала автоматически сбрасывается в 0." На самом деле, даже если нет связи, реальное значение в ноль сбрасывается, по истечении вышеуказанного таймаута, не смотря на то что запрос фактически не отработан!
Поэтому у Нас вопрос: Как отследить обрыв связи с БД, чтобы остановить опрос, т.к. при её отсутствии наблюдается периодическое подвисание РТМ с циклом равным циклу отработки канала выз-го шаблон св. с БД? Но так, чтоб это было более менее оперативно.

Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. 0 образуется в канале в момент отработки канала, а не запроса.

2. К сожалению, сейчас доступна только косвенная диагностика для запросов на чтение. В аттрибут I1 возвращается количество считанных строк. Если 0, то с некоторой вероятностью запрос не проходит, но существует также вероятность, что в базе просто нет таких записей.

3. Чтобы канал связи с БД не подвешивал систему, можно перевести его в поток Idle. Раньше так и было по умолчанию, сейчас он находится в основном потоке.

Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
К сожалению перевод в поток IDLE не решает полностью эту проблему, ведь программа которая "инициирует" (посылает во вх. значение канала связи с БД №запроса) запрос с периодом пересчёта канала, который вызывает её шаблон, продолжает это делать, не смотря на то что коннекта к базе нет, и в эти моменты происходит "замирание" всех элементов экрана на 5-10 секунд, а когда оператор управляет объектом это не шутки.
Недавно у нас как раз была такая ситуация, и нам пришлось дать не мало объяснений по этому поводу.
И всё же, не смотря на то что возможно у Вас нет в планах решение этой проблемы, мы убедительно просим занятся этой темой. Мы сейчас даже временно не можем застраховать себя на случай, когда вдруг такая ситуация повторится и что самое страшное, это то что оператор не знает о том что произошло зависание, и считает что процесс протекает в норме.
Нам нужен какой либо признак по которому мы могли бы остановить отработку программы отрабатывающей запрос [Недоумение / Confused] .

Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Атрибут I1 - это атрибут под номером 91?
Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Да, именно он.
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Dmitry.niimm
Junior Member / Новичок
Участник № / Member № 3380


Icon 1 отправлено / posted      Профиль для / Profile for Dmitry.niimm           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
И я свой пятачок суну...

В нашем проекте используется две базы данных: локальная на Firebird (основная) и сетевая на MSSQL.

Так как доступ к сетевой базе идет через модемную линию и периодически пропадает, то, дабы не подвешивать монитор, соответствующий канал запроса был вынесен в отдельный поток.

Вот только работать там он не желает:
после подачи на вход номера запроса канал отрабатывает, т.е. аргументы канала изменяются в соответствии с принятыми данными и выставляется время изменения, но отработка не завершается (не сбрасываются в ноль ch.in и ch.r) и канал зависает. Дальнейшие попытки оживить канал путем пихания различных значений в разные атрибуты ни к чему не приводят.

Для проверки тот же самый канал, перемещенный в цикл calc, работает отлично, т.е. дело вовсе не в его кривой настройке.

Вариант "перенести в цикл idle" просьба не предлагать, т.к. это может привести к тормозам в работе с основной (локальной) базой при пропадании сети.

Сообщения / Posts 19 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. Основная база у Вас находится в потоке Idle?

2. В какой отдельный поток Вы вынесли обмен с сетевой БД?

Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Dmitry.niimm
Junior Member / Новичок
Участник № / Member № 3380


Icon 1 отправлено / posted      Профиль для / Profile for Dmitry.niimm           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. Нет, пока что в основном - сбои по локальной базе маловероятны, а скорость важна. Но хотелось унести сетевой канал в отдельный поток, чтоб не тормозить то, что находится в idle (там работает пара обслуживающих каналов типа пересчета, очистки и статистики).

2. Указали "свой поток", номер 1. Кстати, аналогичная проблема была и при установке периода отработки канала 1 минута (другие варианты не пробовал).

Причем, что характерно, ситуация абсолютно повторяемая и не зависящая от базы данных, т.е. создал новый проект с одним шаблоном запроса к БД, расположенной на локальном компе под управлением Firebird и тремя абсолютно одинаковыми каналами Call.SQL. Единственная разница у каналов - периоды выполнения (1 calc, 1 минута и "свой поток"). Вариант с потоком Idle в тесте не использовался. Запуск осуществлялся вручную через окно просмотра каналов. Из трех каналов корректно работал только тот, что был в основном потоке, а два других зависали после первой отработки.

И, если можно, вопрос не в тему. Куда подевалась техподдержка в Киеве? Уже больше месяца не отвечает ни один телефон. На Вашем сайте изменений их реквизитов не обнаружено...

Сообщения / Posts 19 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1-2. Ситуация подтвердилась, будем разбираться.

По поводу техподдержки: http://www.tracemode.ua/events/nt-distr/

Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте Господа!

Вернёмся к нашему вопросу повторно.

В 91-м атрибуте ничего не появляется, т.е. нуль!
Хотя данные с базы RTM успешно получает и количество считанных строк ни как неможет быть равно 0. В чём могут быть причины?

Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Уважаемые Господа!

С момента размещения вышеизложенного сообщения прошла неделя!
Есть какие либо соображения по поводу отсутствия информации в 91-м атрибуте?

Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Господа!

Может кто нибудь всё таки ответит на этот вопрос?

Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Проверил на двух разных БД (Access и MS SQL server). Все работает.
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Работать то работает...

Можно тестовый проектик, с любой табличкой БД, для примера, чтоб мы у себя смогли проверить и увидели что нибудь в 91-м атрибуте.

Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Отправлено
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2