Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
4-101013
dorohov
2003-05-26 15:42
2003.07.31
Нажатие клавиш


3-100530
Skalp
2003-07-07 14:42
2003.07.31
Блокировка


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


11-100650
romychk
2002-11-25 10:24
2003.07.31
Базы данных.


4-101018
BJValentine
2003-05-27 18:42
2003.07.31
CreateProcess





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский