Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Импорт БД из одной в другую как не через клиента?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38640
Импорт БД из одной в другую как не через клиента?
================
Есть клиент на Delphi в котором открыто (в одном процессе) 2 коннкта ADO для 2-х БД (могут быть на разных сервреах-ЭВМ). И 2 таблицы ОДИН-КО-МНОГИМ. Структура ОДИНАКОВА 100 %
Раньше делал ручками - получить всё из одной и записать в другую.
Это же через клиента?
Как эффективнее?
ЗЫ. Если это термин "приаттачить" то Pliz чуть подробнее (с этим не встречался).
23 сен 04, 15:45    [982668]     Ответить | Цитировать Сообщить модератору
 Re: Импорт БД из одной в другую как не через клиента?  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
DTS
DataBase Copy Wizard



я не волшебник, я только учусь
23 сен 04, 15:53    [982728]     Ответить | Цитировать Сообщить модератору
 Re: Импорт БД из одной в другую как не через клиента?  [new]
SergeyPl
Member

Откуда: Харьков
Сообщений: 287
На сервере:
или через EM ручками - DTS,
или через хр.процедуры,
или через триггеры,
или с помощью SQLServerAgent по расписанию.
Смотря, что, как и когда нужно перносить.
23 сен 04, 15:54    [982735]     Ответить | Цитировать Сообщить модератору
 Re: Импорт БД из одной в другую как не через клиента?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38640
или через EM ручками - DTS,===== DTS нельзя потом запустить из Delphi?
или через хр.процедуры,============= как?
или через триггеры,========== нет - нет надобности, а хп свои есть
или с помощью SQLServerAgent по расписанию.========= мне по команде из Delphi меню .... Импорт(имяОткуда_ИмяКуда)
23 сен 04, 15:57    [982759]     Ответить | Цитировать Сообщить модератору
 Re: Импорт БД из одной в другую как не через клиента?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38640
Попробовал DTS - создать *.DTS.
- Его потом можно из Delphi запустить?
- Руганулся на нарушение ключа - Он корректно переносит Один-КО-МНОГИМ (т.е. сначала левую, затем правую)?
23 сен 04, 16:04    [982806]     Ответить | Цитировать Сообщить модератору
 Re: Импорт БД из одной в другую как не через клиента?  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Petro123
или через EM ручками - DTS,===== DTS нельзя потом запустить из Delphi?
или через хр.процедуры,============= как?
или через триггеры,========== нет - нет надобности, а хп свои есть
или с помощью SQLServerAgent по расписанию.========= мне по команде из Delphi меню .... Импорт(имяОткуда_ИмяКуда)


DTS из Delphi

ЧПОК
23 сен 04, 16:05    [982813]     Ответить | Цитировать Сообщить модератору
 Re: Импорт БД из одной в другую как не через клиента?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38640
Спасибо определился! У меня как раз куча COM в приложении!

автор
Решение 3. DTS-пакеты с технической точки зрения представляют собой не что иное, как COM-объекты, и вы можете легко управлять ими через обычные интерфейсы COM. Можно написать программу-оболочку COM, которая вызывает DTS-пакет и управляет им так, как нужно. После этого вы можете вызвать данную программу-оболочку из T-SQL, используя функцию sp_OACreate(), которая позволяет T-SQL создавать экземпляр COM-объекта и управлять им на SQL-сервере. Это вариант наиболее сложный, но он может обеспечить дополнительную гибкость, которую нельзя получить с помощью Решения 1 или 2.


Где взять подробнее!!
23 сен 04, 16:11    [982846]     Ответить | Цитировать Сообщить модератору
 Re: Импорт БД из одной в другую как не через клиента?  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Petro123
Спасибо определился! У меня как раз куча COM в приложении!

автор
Решение 3. DTS-пакеты с технической точки зрения представляют собой не что иное, как COM-объекты, и вы можете легко управлять ими через обычные интерфейсы COM. Можно написать программу-оболочку COM, которая вызывает DTS-пакет и управляет им так, как нужно. После этого вы можете вызвать данную программу-оболочку из T-SQL, используя функцию sp_OACreate(), которая позволяет T-SQL создавать экземпляр COM-объекта и управлять им на SQL-сервере. Это вариант наиболее сложный, но он может обеспечить дополнительную гибкость, которую нельзя получить с помощью Решения 1 или 2.


Где взять подробнее!!


BOL and Goooooooooogle
23 сен 04, 16:25    [982947]     Ответить | Цитировать Сообщить модератору
 Re: Импорт БД из одной в другую как не через клиента?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38640
Но схема то-какая?
-Эта хп создаёт COM на сервере?
-Эта хп создаёт COM на сервере свой (от MS) для DTS или надо писать его ручками в виде DCOM?
- *.dts созданный визардом можно загрузить туда, в том числе с именем БД в виде параметра.
=======
Plz кому не трудно про технологию напишите на абзац.
23 сен 04, 16:40    [983036]     Ответить | Цитировать Сообщить модератору
 Re: Импорт БД из одной в другую как не через клиента?  [new]
Glory
Member

Откуда:
Сообщений: 104760
-Эта хп создаёт COM на сервере?
Да.
BOL - sp_OACreate - Creates an instance of the OLE object on an instance of Microsoft® SQL Server™.

-Эта хп создаёт COM на сервере свой (от MS) для DTS или надо писать его ручками в виде DCOM?
свой, от MS

- *.dts созданный визардом можно загрузить туда, в том числе с именем БД в виде параметра.
Да.
23 сен 04, 16:54    [983104]     Ответить | Цитировать Сообщить модератору
 Re: Импорт БД из одной в другую как не через клиента?  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
можно скопировать файлы и приаттачить
если нужно базу целиком а останавливать нельзя :
мне понравилось так :
делаешь бэкап
делаешь пустую базу на новом сервере
делаешь рестор в эту базу из файла бэкапа с опциями мув и реплейс
23 сен 04, 17:01    [983142]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить