This is topic Ошибка в привидении типов в шаблоне SQL in forum SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE at Форум TRACE MODE: техническая поддержка.
На мой взгляд обнаружил ошибку в привидении типов в 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 :
Действительно в таком случае будет попытка записи в БД значения атрибута не в числовом, а в текстовом формате.
Организовать передачу можно, например, дополнительно задействовав программу, которая будет формировать значение аргумента с булевым типом данных.
В базу улучшений занесена информация о данной особенности.