Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.016 c
7-86572
Man
2003-08-11 19:43
2003.12.26
как определить серийный номер номер винчестера


9-86239
xman
2003-06-06 11:01
2003.12.26
DelphiX - systemmemory


3-86289
introvert
2003-12-02 19:21
2003.12.26
IB: TRIGGER DOESN T WORK


11-86326
dataMaster
2003-04-14 16:36
2003.12.26
DecimalSeparator


3-86284
Mox Fulder
2003-12-02 20:31
2003.12.26
Кодировки