This is topic Ограничение на кол-во строк, извлекаемых из БД 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/001785.html

Posted by koldin (Участник № / Member № 9182) on :
 
Здравствуйте!
Правильно ли я понял, что по команде CALL.SQLQuery.In можно извлечь из БД не более 4096 (2^12) строк? Если это так, то имеется ли способ извлечения из БД нескольких десятков тысяч строк?
 
Posted by koldin (Участник № / Member № 9182) on :
 
Я, похоже, ошибся на порядок: последовательно можно считать 8192 (2^13) строки. Но всё равно- это меньше требуемого диапазона.

Из руководства пользователя:
Извлечение строк
Допустима следующая конфигурация:
канал CALL.SQLQuery (INPUT, Параметр<>0) содержит единственный запрос с конструкцией SELECT.
В этом случае по команде CALL.SQLQuery.In=0xFFFF выполняется запрос, после чего в CALL.SQLQuery.In может быть многократно записано число, в котором должен быть установлен бит 15 (0x8000), а биты 0-12 задают номер строки, извлекаемой из полученной выборки. Значения извлеченной строки записываются в аргументы канала CALL.SQLQuery, используемые в виде подстановок в запросе.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Здравствуйте!
Верно, есть ограничение на количество считываемых строк одним запросом.
Если Вам необходимо считать "несколько десятков тысяч строк", то это возможно сделать несколькими запросами.

Если необходимо иметь доступ одновременно к такому количеству строк, то это решается использованием нескольких Call.SQLQuery, которые будут запрашивать определенное количество строк.
 
Posted by koldin (Участник № / Member № 9182) on :
 
Принцип действий ясен! Дальше буду самостоятельно разбираться. Большое спасибо!
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2