Выполнить *.dts из T-SQL процедуры поменяв параметры соединения
Необходимо перелить базу из ODBC-источника в базу MSSql используя MsSql DTS у заказчиков максимально
автоматизировав процесс('Одной кнопкой').
Нашел такой пример:
DECLARE @object int
DECLARE @hr int
--create a package object
EXEC @hr = sp_OACreate 'DTS.Package', @object OUTPUT
if @hr <> 0 BEGIN
print 'error create DTS.Package'
RETURN -1
END
EXEC @hr = sp_OAMethod @object, 'LoadFromStorageFile',
NULL, 'C:\Test.dts', ''
IF @hr <> 0 BEGIN
print 'error LoadFromStorageFile'
RETURN -2
END
EXEC @hr = sp_OAMethod @object, 'Execute'
IF @hr <> 0 BEGIN
print 'Execute failed'
RETURN -3
END
Он работает для моего DTS-файла Но мне необходимо програмно менять параметры соединения
а также пользователя и пароль подсоединения а не только те которые настроены в моем обьете DTS-Package.
В нем на источнике данных обьект "Connection Properties" с необходимым мне ODBC DataSource, логином и паролем.
На приемнике данных обьект "Connection Properties" с DataSource Microsoft Ole DB к нужной мне базе, логином и паролем.
И десятка 2 обьектов "Transform Data Task". В доке нашел метод sp_OAMethod с методом "Connect":
EXEC @hr = sp_OAMethod @object, 'Connect', NULL, 'my_server', 'my_login', 'my_password'
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
Но не понятно что с ним делать ведь у меня 2 источника данных? Как правильно?
Заранее спасибо
Нилов Сергей.
Как загрузить файл с пакетом *.dts
из T-SQL процедуры и выполнить его? По возможности указав по очереди шаги выполнения
(заполнение таблиц), для того чтоб не загружать Referencial Keys отдельно после загрузки базы.
В Online Books я нашел sp_OAMethod, sp_OACreate... но честно говоря не очень понятно как это сделать
Если можно ссылку на примерчик как это делается
Заранее спасибо