Форум: "Базы";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
ВнизБЫСТРОЕ добавление записей в БД Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c