Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

БЫСТРОЕ добавление записей в БД   Найти похожие ветки 

 
sally   (2006-04-07 17:22) [0]

Уважаемые мастера.
Как наиболее быстро "перегнать" данные из Paradox\DBF в Acceess\MS SQL Server. Для доступа к Paradox используется TTable. Для Acceess\MS SQL Server - ADO. Сам скрипт(INSERT INTO ...) генерируется ОЧЕНЬ быстро. Однако при выполнении SQL тупит по-черному. Данные перегонять приходится частенько, необходимо  также обрабатывать данные, по-этому вариант MS DTS не подходит никак(также и по-другим "соображениям"). Но хотелось бы приблизится к их скоростям.
Есть ли у кого какие мысли?


 
sniknik ©   (2006-04-07 17:27) [1]

> Есть ли у кого какие мысли?
а тебе этого хватит? всеголиш мысли...

мысль такая, выкинуть все TTable-ы и пользоваться возможностями указаных серверов/движков, для пакетной вставки...


 
Sally   (2006-04-07 17:35) [2]

Для Acceess\MS SQL Server использую только ADOCommand+ADOConnection.

Да... Чей-то одних мыслей маловато :) А поподробней :)


 
sniknik ©   (2006-04-07 17:45) [3]

хелп в аксессе по "предложение IN", в BOL (mssql) по OpenRowset, OpenDataSource, Linked Servers. подробнее не бывает.


 
Sally   (2006-04-07 17:51) [4]

а как быть с дополнительной обработкой полей перед вставкой? Простый SELECT не подходит, а "предложение IN" подразумевает использование просто SELECT...


 
sniknik ©   (2006-04-07 18:05) [5]

> подразумевает использование просто SELECT...
не просто, некоторая обработка данных может быть непосредственно в запросе. но даже если там нельзя обработать так как хочется, то вставка во временную таблицу, обработка в ней (желательно опять пакетная, массово) и переброс после в основную, может оказаться быстрее чем переливание с TTable в ADODataSet с последовательной.
но это уже даже не мысли, пошла конкретика задачи... о которой не сказано, и потому это домыслы.


 
Sally   (2006-04-09 15:47) [6]

>sniknik
Полазил по нету и посмотрел пару программ.
http://www.dbput.com
http://www.spectralcore.com/ (Full Convert)

В этих программах переливание идет быстрее, чем если использовать что ADOTable(Query), что просто генерировать SQL и выполнять его. И если в Full Convert теоретически может использоваться пакетная обработка, то в DBPut я сомневаюсь, т.к. есть возможность писать собственные функции. Хотелось бы узнать мнение гуру о том, как добиваются такой скорости


 
Nikolay M. ©   (2006-04-09 16:18) [7]


> Однако при выполнении SQL тупит по-черному. Данные перегонять
> приходится частенько, необходимо  также обрабатывать данные,
>  по-этому вариант MS DTS не подходит никак


Ты просто не умеешь готовить.
У меня на ДТС-пакетах основано два десятка процедур импорта-экспорта данных. Ничто не "тупит", все "обрабатывается" (в твоей терминологии).


> как добиваются такой скорости


Для MS SQL самым быстрым способом вставки всегда был BULK INSERT, подробности в БОЛ.


 
Sally   (2006-04-09 21:03) [8]

>Nikolay M
Готовить DTS умею не хуже вашего. НО!!! Еще раз повторюсь. DTS использовать нельзя. Не из-за того, что религия не позволяет. MS SQL\Access это как вариант. Смысл программы - перекачивать данные из одной базы данных в другую. И типы СУБД могут быть различные. Просто переводим клиентов(своих и чужих) с различных программ под разные СУБД(в том числе и файловые БД) на свою программу. Программа 3-х звенная. Сервер заточен на использование IB\MS SQL\Oracle. Планируется еще под DB2 и Sybase. И че, всем клиентам DTS устанавливать? Мне он тоже нравится. Но не проходит этот вариант. Конечно "перегон" данных работа разовая и можно потерпеть, но ведь интересно ускорить этот процесс, при чем есть программы которые работают достаточно быстро.


 
Nikolay M. ©   (2006-04-09 22:38) [9]


> Готовить DTS умею не хуже вашего.


Померяемся? :)


> Программа 3-х звенная. Сервер заточен на использование IB\MS
> SQL\Oracle. Планируется еще под DB2 и Sybase.


Тогда задавай 5 вопросов на 5 разных форумах. Изначально речь шла про аксесс и MS SQL, для последнего я дал два приемлемых варианта. Вопрос, почему после "уточнений" вместо двух СУБД оказалось 5, а под "частым перегоном" стал подразумеваться "разовый", остается на твоей совести.



Страницы: 1 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
15-1146744905
Golik
2006-05-04 16:15
2006.05.28
Как создать резервную копию БД ?


15-1146553952
Николай_Москва
2006-05-02 11:12
2006.05.28
Не видны значения переменных под отладчиком


2-1147245971
KyRo
2006-05-10 11:26
2006.05.28
Вопрос по сервисам и реестру


15-1146147292
Виталий Панасенко
2006-04-27 18:14
2006.05.28
Сканер штрих-кода Symbol LS 2208 USB


4-1141637653
kay
2006-03-06 12:34
2006.05.28
Как mdichild форму сделать toolwindow?