Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизBatchMove для ADOQuery Найти похожие ветки
← →
zsr (2003-10-17 13:27) [0]Проблема в следующем:
необходимо переписать данные из запроса (MSSQL, ADO) в локальную таблицу (Paradox). Запрос возвращает около 150 тыс записей (а будет и еще больще) и полей всего ничего (6 штук типа Integer), а процесс копирования идет минут 10.
Делаю так:
While Not ADOQuery1.EoF do begin
Table1.Append;
For I:=0 to Pred(ADOQuery1.FieldCount) do
Table1.Fields[I].Value:=Fields[I].Value;
Table1.Post;
ADOQuery1.Next;
end;
Думал, что проблема на стадии записи в лок.таблицу - оставил только чтение - на время это никак не повлияло!!!!
Раньше было сделано на IB (TQuery) и TTable.BatchMove все работало значительно быстрее. Должен же быть какой-то выход?
Спасибо за помощь
← →
ZrenBy (2003-10-17 13:34) [1]DTS
← →
zsr (2003-10-17 13:39) [2]> ZrenBy
Может подскажете: как использовать DTS в моей проге?
← →
ZrenBy (2003-10-17 13:51) [3]http://www.sql.ru/forum/actualthread.aspx?bid=20&tid=18092
http://www.sql.ru/forum/actualthread.aspx?bid=20&tid=10158
← →
zsr (2003-10-17 16:24) [4]Спасибо,
почитал я ссылки: это не совсем то. Эта штука работает только при установке MS SQL client, а этого делать не хочется - зачем тогда использовать ADO??
Неужели нет других вариантов?
← →
ZrenBy (2003-10-17 16:42) [5]Э-э-э.
Вроде бы до D7 были некоторые ньюансы в реализации
TADO Component.
Попробуй установить
ADOQuery1.CursorLocation := clUseServer;
ADOQuery1.CursorType := ctOpenForwardOnly;
ADOQuery1.LockType := ltReadOnly;
У меня на D6 голый цикл по 70000 записей и с параметрами
ADOQuery по умолчанию выполнялся минутами.
При установке вышеуказанных параметров - пару секунд.
Почему - не знаю.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.059 c