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