Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.012 c
2-1147420555
Ling
2006-05-12 11:55
2006.05.28
в чём разница?


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


1-1145395794
MZUser
2006-04-19 01:29
2006.05.28
EXE из памяти


9-1130748323
Darthman
2005-10-31 11:45
2006.05.28
Проблема с DirectSound. Создание и заполнение буфера


1-1145715400
13
2006-04-22 18:16
2006.05.28
Поиск в потоке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский