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/000016.html

Posted by preo_alm (Участник № / Member № 33) on :
 
Ответьте пожалуйста на три вопроса.

1. Чем ограничена длина строки SQL запроса в файле odbc.cfg? При длине строки SQL запроса после слова FOOTER порядка 60 символов происходит наложение на нее последующей строки запроса.

2. При использовании запроса вида:

SELECT * FROM Tab WHERE field1<##### OR field1=##### AND field2<=#####

подстановка значения соответствующего канала происходит только для первого выражения с field1. Во втором же выражении с field1 (field1=#####) подстановка значения канала не происходит и в выражении остаются символы #####, что вызывает ошибку.
Объясните пожалуйста, с чем связана подобная ошибка и каким образом ее можно избежать.

3. Если необходимо выполнять один и тот же SQL запрос по изменению значения канала, то каким образом это можно сделать, кроме как задействовав для этого две одинаковые строки FOOTER. Это не совсем рационально. Подскажите более рациональный способ.


Заранее благодарен.
 


Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) Длина строк в файле конфигурации SQL-запросов действительно ограничена. Размер ограничения, я сообщу позже.

2) На данный момент в запросе может использоваться только одна подстановка по SQL_where.

3) Это можно реализовать с помощью подстановки значения через канал SQL_where.
 


Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Длина строк в файле конфигурации odbc.cfg ограничена следующим образом:
SQL - 64 байта,
HEADER - 3400 байт,
FOOT - 1024 байта.
Общая длина SQL-запроса, посылаемого МРВ в БД, не должна превышать 4 кбайт.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2