This is topic Date_and_Time в Access in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


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

Posted by Alex33 (Участник № / Member № 5973) on :
 
При передаче значения времени в Access происходит потеря части значений. В причине разобрался, но устранить не получается:
если секунды, переведённые в HEX заканчиваются не цифрой, то данные игнорируются. Причем счётчик записей пропускает 6 пунктов.
Подскажите пожалуйста как это устранить.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Все данные передаются в БД в виде строк (и числа тоже).
Дата и время передается тоже текстовой строкой в общепринятом формате.
 
Posted by Alex33 (Участник № / Member № 5973) on :
 
В формате DATE_AND_TIME
11.04.2013 16:34:09
11.04.2013 16:34:16
11.04.2013 16:34:17
с 09 перескакивает на 16...

Перевёл тип данных в STRING (для ТМ), Текстовый ( для Access)
2013-04-11 16:50:25
2013-04-11 16:50:32
2013-04-11 16:50:33
Изменился только вид отображения, а скачет так-же [Недоумение / Confused]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Везде тип данных должен быть DATE_AND_TIME.
Откуда Вы берете время для записи?
 
Posted by Alex33 (Участник № / Member № 5973) on :
 
из реального значения канала Time
 
Posted by Alex33 (Участник № / Member № 5973) on :
 
оттуда-же вывожу в текстовое поле на экран - там всё ОК.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Включайте трассировщик ODBC-драйвера и ловите ошибки записи в его протоколе.
В нем можно увидеть, что реально передает МРВ и как это воспринимается ODBC-драйвером.
Если Вы записываете 1 раз в секунду, есть ли уверенность, что команды на запись действтельно формируются с таким периодом и все SQL-запросы проходят через ODBC-драйвер?
 
Posted by Alex33 (Участник № / Member № 5973) on :
 
Спасибо, буду "ловить"...
 
Posted by Alex33 (Участник № / Member № 5973) on :
 
Поймал.
Причиной сбоев записи в базу явился аргумент, берущий значение из @t_Seconds_2 (запись в базу корректна, если удаляю привязку к @t_Seconds_2).
Через просмотр компонентов видно, что каналу присваивается значение в НЕХе.
Пробовал и через аргумент канала CALL аргумент базы данных привязывать и напрямую к @t_Seconds_2 - результат - сбой записи в базе.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Создайте Float-канал, привязанный к системной переменной @t_Seconds, и с него передавайте значение секунд в аргумент SQL-канала.
 
Posted by Alex33 (Участник № / Member № 5973) on :
 
Не понял почему Float-канал, но все пошло. Спасибо.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2