Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.31;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.015 c
1-100711
Антон
2003-07-18 13:28
2003.07.31
Длина MEMO.TEXT в пикселях?


3-100631
vopros
2003-07-10 12:07
2003.07.31
Запрос RequestLive при добавлении и посте записи в Eh гриде


14-100895
Tornado
2003-07-14 13:27
2003.07.31
DBGrid


1-100725
laider
2003-07-18 11:45
2003.07.31
как объединить Edit и Button (SpeedButton) в одно (like SpinEdit)


1-100708
LongIsland
2003-07-18 14:19
2003.07.31
Что будет работать быстрее?