This is topic Потеря данных при SQL запросе in forum Работа в MS Windows (ODBC/DDE/OPC/NET) / Working under MS Windows at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/13/t/000011.html

Posted by Balinov (Участник № / Member № 129) on :
 
Почему то при SQL запросе по времени (например запрос - показать все данные с такого-то времени по текущий момент) периодически не обнаруживаются данные за последние два-три часа. В архиве они есть но на запрос они не выводятся. С чем это может быть связано и как с этим бороться.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Перепроверили в ТМ5.09 - не воспроизводится.
Пожалуйста, сообщите Вашу версию ТМ, из какой БД Вы делаете запрос и пример Вашего SQL-запроса.
 
Posted by Balinov (Участник № / Member № 129) on :
 
Работаем под версией ТМ 5.07
Пример простейшего SQL запроса такой
SELECT * FROM ARCHIVE WHERE Time > {ts'''+IntToStr(Y1)+'-'+IntToStr(M1)+'-'+IntToStr(D1)+' '+IntToStr(H1)+':'+IntToStr(mn1)+':01.000''}';
где y1 - год
M1- месяц
D1 - день
H1 - час
Mn1 - минута

Запрос делается из среды DELPHI 5, отсюда и синтаксис перевода времени

перейти на версию ТМ 5.09 не возможно по производственным причинам. Просьба ответить о принципиальной возможности работы SQL запроса по времени с ТМ 5.07
 


Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) В запросе Вы указали миллисекунды, наш ODBC-драйвер такой запрос не примет, потому как в формате СПАД-архива миллисекунды вынесены в отдельное поле MSEC.
Попробуйте убрать их из запроса.
2) Я пробовал из MS Access запрос следующего вида:
SELECT *
FROM ARCHIVE
WHERE ARCHIVE.TIME>#2001-12-17 9:00:00#;

без формата {ts'......'}.
Попробуйте вместо {ts''} знак #.
3) Если ничего не получится, то я могу выслать Вам ODBC-двайвер из релиза 5.09.
 
Posted by Balinov (Участник № / Member № 129) on :
 
Запрос абсолютно правильный.
Вопрос состоит не про форму запроса, а в том что на запросы периодически (то есть не всегда) теряются данные.
С чем это может быть связано ?

Если можно, то действительно пришлите драйвер ODBC на generus@mail.ru . Заранее благодарю.
 


Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) Драйвер из релиза 5.09 я отправил Вам по E-Mail.
2) Все же рекомендую проверить (например через MessageBox) результат сборки времени в Вашем запросе. Либо включить в Администраторе ODBC опцию лог-файла и после возникновения ситуации, когда запрос не вернул данные из СПАД, проверить по этому лог-файлу какой SQL-запрос был передан драйверу от Вашей программы.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2