This is topic Ошибка в привидении типов в шаблоне SQL in forum SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE at Форум TRACE MODE: техническая поддержка.


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

Posted by stepan (Участник № / Member № 3589) on :
 
Добрый день!

На мой взгляд обнаружил ошибку в привидении типов в SQL шаблоне. Надеюсь что она не является фичей)

СУБД: MS Sql Server

У шаблона SQL есть аргумент с типом BOOL, который привязан к каналу типа FLOAT к атрибуту достоверность.

пример запроса:
code:
INSERT INTO current
(
date,
source_id,
t_air_vaild,
t_air_value
)
VALUES
(
GETDATE(),
1,
'#Tair_valid#',
'#Tair_value#'
)

В таблице поле t_air_vaild имеет тип bool. SQL шаблоне аргумент #Tair_valid# имеет тип BOOL.

При выполнении запроса в таблицу ничего не записывается.

Меняю в таблице БД у поля t_air_vaild тип на text. Выполняю запрос: если канал привязанный к SQL шаблону достоверен - в таблицу вставляется запись со значением поля t_air_vaild - "_T". Если не достоверен - "_F".

Если у шаблона аргумент типа BOOL, то на мой взгляд логичнее было бы конвертировать привязанное к нему значение в 0 или 1.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Действительно в таком случае будет попытка записи в БД значения атрибута не в числовом, а в текстовом формате.

Организовать передачу можно, например, дополнительно задействовав программу, которая будет формировать значение аргумента с булевым типом данных.

В базу улучшений занесена информация о данной особенности.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2