Текущий архив: 2003.12.26;
Скачать: CL | DM;
Вниз
Из DataSet-а в таблицу Найти похожие ветки
← →
Просто гость (2003-12-01 23:40) [0]Хелло, многоуважаемый All.
Имеется DataSet с загружеными данными. Очень хочется этот DataSet вставить в талицу MSSQL-я, причем сделать это очень быстро. Конечно, можно идти по DataSet, и генерировать insert на каждую запись, но это очень медленно, хотелось бы услышать мнение знающих людей.
← →
BlackKing (2003-12-01 23:49) [1]kakim obrazom eti dannije popadajut v DataSet?
← →
sniknik © (2003-12-02 00:17) [2]> Конечно, можно идти по DataSet, и генерировать insert на каждую запись, но это очень медленно
это обычно так и делается, только не "генерировать" insert каждый раз а просто записать его один раз до цикла после менять только параметры.
быстрее только пакетный инсерт (тот что обрабатывает не одну а множество записей зараз, но из "DataSet-ов загружеными данными" он не работает).
← →
qpwoeiruty © (2003-12-02 01:36) [3]to BlackKing : Загружаются из бинарного файла
sniknik : Под словом "генерировать", я именно это и понимал
← →
UBPFD (2003-12-02 10:44) [4]http://delphibase.endimus.com/
← →
Delirium © (2003-12-02 16:21) [5]В принципе можно сгенерить такой скрипт:
insert Table1 (field1, field2, ...)
select value1_1, value2_1, ...
union all select value1_2, value2_2, ...
union all select value1_3, value2_3, ...
...
работать будет и думаю, довольно эффективно...
← →
Александр Иванов © (2003-12-02 16:42) [6]А компонент TBatchMove не пробовали
← →
Delirium © (2003-12-02 16:56) [7]TBatchMove для MSSQL малоэффективен, саймый быстрый способ закачки в MSSQL больших объёмов данных (не считая DTS и BULK INSERT) это http://delphibase.endimus.com/?action=viewfunc&topic=basemssql&id=10400
← →
Delirium © (2003-12-02 16:58) [8]Кстати пример [5] тоже весьма эффективен, но работает на объёмах менее 1000 строк, иначе - валится компилятор Query на MSSQL
Страницы: 1 вся ветка
Текущий архив: 2003.12.26;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.019 c