если существует (выберите * из dbo.sysobjects, где id = object_id(N'[dbo].[s_LoadPackageToServer]') и OBJECTPROPERTY(id, N'IsProcedure') = 1)
процедура удаления [dbo].[s_LoadPackageToServer]
GO
Создайте процедуру s_LoadPackageToServer
@PackageName varchar(128) ,
@FileName varchar(500) ,
@Имя пользователя varchar(100) ,
@Пароль варчар(100)
как
/*
exec s_LoadPackageToServer
@PackageName = 'мойпакет',
@FileName = 'c:dtspckgsmypackage.dts' ,
@Username = 'sa' ,
@Пароль = 'пароль'
*/
объявить @objPackage int
объявить @rc int
exec @rc = sp_OACreate 'DTS.Package', вывод @objPackage
если @rc <> 0
начинать
raiserror('не удалось создать пакет rc = %d', 16, -1, @rc)
возвращаться
end
exec @rc = sp_OAMethod @objPackage, 'LoadFromStorageFile', null,
@UncFile = @FileName, @password = ноль
если @rc <> 0
начинать
raiserror('не удалось загрузить пакет rc = %d, пакет = %s', 16, -1, @rc, @PackageName)
возвращаться
конец
exec @rc = sp_OAMethod @objPackage, 'SaveToSQLServerAs', ноль,
@NewName = @PackageName, @ServerName = @@ServerName, @ServerUserName = @Username, @ServerPassword = @Password
если @rc <> 0
начинать
raiserror('не удалось загрузить пакет rc = %d, пакет = %s', 16, -1, @rc, @PackageName)
возвращаться
конец
идти
exec s_LoadPackageToServer
'мой пакет',
'c:DTS_AN2CP_DIC.dts',
'са',
'са'