Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Копирование таблицы из одной БД в другую


Автор: RST8 20.5.2007, 16:00
Как наиболее эффективно скопировать данные из БД Access в SQL Server 2000? Имеются две примерно идентичные таблицы, поля немного по разному называются и в источнике полей больше, лишние поля не копируются.

Пользуюсь ADO.

Автор: Sansa 21.5.2007, 07:42
Проще наверное скриптом (а не delphi) через выгрузку таблицы в файл и последующим импортом. Настроить поля и отобрать записи лучше всего в источнике так, чтобы как можно ближе подходили к назначению. 
Плюс, быстрее, так как в большинстве баз данных средства отвечающие за экспорт и импорт оптимизированы по скорости (batch import)

Автор: Rodman 21.5.2007, 08:34
RST8, что уже есть??? Connectionы настроил???

Автор: RST8 23.5.2007, 18:34
Цитата

RST8, что уже есть??? Connectionы настроил???


Да все настроено, конекты, таблицы ну или запросы. Пока копирую простым перебором строк, что как я понимаю для клиент серверной БД не очень хорошо. 

Автор: kobra 24.5.2007, 08:38
INSERT INTO DestinationTable (...Fields...)
OPENROWSET (ну и все что нужно для конекта + SELECT (...Fields...) FROM SourceTable)

Автор: Marduk 8.6.2007, 08:56
Юзай DTS на сервере, - пакеты трансформации данных. В Enterprise Manager выбираешь Data Transformation Services и при помощи мастера создаешь скрипт, потом его можно сохранить и запускать из под делфи через ShellExecute или просто командой dtsrun из системы, главное - что все делается быстро и корректно, полностью сохраняется структура в результирующей таблице и данные, плюс, можно из SQL Server в любой формат сохранить и наоборот.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)