Вниз
Скачать: CL | DM;

Как программно осуществить транспортировку данных?   Найти похожие ветки 

 
DBDev   (2003-07-10 10:14) [0]

Имеем 2 MSSQL сервера:

Необходимо по кнопке из программы осуществлять однонаправленное обновление данных с полным затиранием всех старых значений для 5 связанных таблиц.

Хотелось бы услышать возможные пути оптимального с Вашей точки зрения решения, кроме вручную удалить все записи и в цикле копировать.


 
DenK_vrtz ©   (2003-07-10 10:21) [1]

сделать view и написать триггер


 
DBDev   (2003-07-10 11:03) [2]

2 DenK_vrtz: А нельзя ли поподробнее?


 
DenK_vrtz ©   (2003-07-10 11:32) [3]

А поподробнее постоновку задачи можно?


 
clickmaker ©   (2003-07-10 11:52) [4]

написать хранимую процедуру или просто скриптик + запуск по расписанию или принудительно


 
Fiend ©   (2003-07-10 11:55) [5]

Создаём на одном из серверов Linked Server на второй сервер.
затем пользуемся openquery и ни надо никаких циклов. сервера сами всё сделают. надо скрипт грамотно написать. т.е. удалить в нужной последовательности и залить тоже в нужной.

Второй вариант сделать DTS пакет. а из программы просто выполнить скрипт, который выполнит пакет. Это немного лучше вариант. т.к. в этом случае будет выполняться Bulk Copy, если вы конечно правильно построите пакет ДТС.
Это всё совсем не сложно, надо только открыть БОЛ и почитать про это.


 
LordOfSilence ©   (2003-07-10 12:00) [6]

Для этого существует Data Transformation Services.
Довольно мощная и удобная штука. Настрой один раз
и гоняй хоть по расписанию.


 
LordOfSilence ©   (2003-07-10 12:02) [7]

Писал, не видев Fiend © (10.07.03 11:55)
В общем, вариаций много :-)


 
DBDev   (2003-07-10 17:02) [8]

2 Fiend:
"Второй вариант сделать DTS пакет. а из программы просто выполнить скрипт, который выполнит пакет. Это немного лучше вариант. т.к. в этом случае будет выполняться Bulk Copy, если вы конечно правильно построите пакет ДТС."

А как из программы выполнить скрипт, выполняющий DTS пакет?


 
Fiend ©   (2003-07-10 17:45) [9]

xp_cmdshell - расш.хранимая процедура, которая может выполнять команды shell
например exec xp_cmdshell "dir c:" покажет все файлы на диске с:

далее, есть тул dtsrun, который может выполнять пакеты. Параметры передаются с командной строки. Путь к нему объявлен в переменных среды, птому можете смело писать exec xp_cmdshell "dtsrun (параметры)"
Про параметры надо почитать в командной строке



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.019 c
14-100921
Dw
2003-07-13 16:04
2003.07.31
Отправка e-mail


1-100690
Ilg
2003-07-17 11:15
2003.07.31
Прокрутка ListBox


3-100641
XanderMan
2003-07-10 16:09
2003.07.31
Oracle Server и Client на одной машине


14-100957
Vlad Oshin
2003-06-30 19:48
2003.07.31
Вы верите в определение качеств человека по мимике, поче-


11-100657
nsvi
2002-11-29 13:14
2003.07.31
Глюк? Или нет?




   Наверх