Форум 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 » Работа с приложениями (ODBC-SQL/OPC/DDE) » Cвой поток и Связь_с_СУБД

   
Автор / Author Тема / Topic: Cвой поток и Связь_с_СУБД
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день! У меня в программе есть проблема- при считывании данных из БД MS SQL подвисает вся программа, пока считывание данных не закончится.
Проведя поиск по форуму я увидел, что эта проблема давняя и рекомендовалось решать ее переводом выполнения связи с субд в "свой поток"(Единица измерения- "свой поток", период= номеру потока).

Я перевел канал SQLQuery, привязанный к запросу СУБД в "свой поток", но это не помогло- в таком режиме запрос никогда не останавливается и на входе(In) канала SQLQuery постоянно висит 65535.

Подскажите, как решить эту проблему? Может быть для помещения канала SQLQuery в свой поток нужно выполнить еще какие-то действия кроме выставления параметров: Единица измерения- "свой поток", период= номеру потока?

Сообщения / Posts 45 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Установлен TraceMode 6.08, ОС Windows XP SP3.
Сообщения / Posts 45 | Из / From: Ukraine  |  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 
Выставьте каналу период пересчета "цикл IDLE".
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


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

Я попробовал все варианты, в т.ч. поставить "цикл IDLE", это приводит к некоторым странным глюкам.
Например, после запроса в лог-файле появляется запись:


16:14:20 0000 00000000[0] 31.05.2012
16:14:20 0000 00000000[132616] Start
16:14:31 0000 00000001[1] Calc loop is big

Сообщения / Posts 45 | Из / From: Ukraine  |  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 
В релизе 6.08 выполнение SQL-запроса в своем потоке не работает. Ошибка будет исправлена в следующем релизе.

При появлении сообщения "Calc loop is big", приоритеты потоков в проекте были выставлены по умолчанию? Ошибка возникает после каждого выполнения SQL-запроса?

Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Настройки приоритетов я не трогал.
Вы имеете в виду настройки по адресу RTM->Редактировать->Дополнительно->Приоритеты потоков? Там все Default.

Я ввел в программу переменную @Calculate_Cycle- реальное время вып-я цикла. Так вот, когда идет SQL-запрос чтения, эта переменная изменяется с 0... 2 до 17740 т.е. 17 секунд! Вот только что проверял. В SQLQuery выставлен "цикл IDLE".
К тому же, когда выставлен "цикл IDLE" пока идет чтение SQL, параметры с датчиков "зависают" на экране- отображение показаний датчиков не меняется.

Сообщения / Posts 45 | Из / From: Ukraine  |  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 
Да. Имелись в виду настройки приоритетов в редакторе узла проекта.

База данных локальная? В результате выполнения SQL-запроса данные в аргументы каналов поступают?
Какие значения выставлены для циклов CALC и IDLE?

Создайте в папке узла проекта cnf-файл с ключом "DEBUGON=60054010" и воспроизведите ситуацию. После этого отправьте на hotline3@adastra.ru файл протокола профайлера, файл tm6_log.txt и prj-файл проекта.

Сообщения / Posts 17316 | Из / 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