如果存在(从 dbo.sysobjects 选择 *,其中 id = object_id(N'[dbo].[s_LoadPackageToServer]') 和 OBJECTPROPERTY(id, N'IsProcedure') = 1)
删除过程 [dbo].[s_LoadPackageToServer]
GO
创建过程 s_LoadPackageToServer
@PackageName varchar(128) ,
@文件名 varchar(500) ,
@用户名 varchar(100) ,
@密码varchar(100)
作为
/*
执行 s_LoadPackageToServer
@PackageName = 'mypackage' ,
@FileName = 'c:dtspckgsmypackage.dts' ,
@用户名 = 'sa' ,
@密码='密码'
*/
声明 @objPackage int
声明 @rc int
exec @rc = sp_OACreate 'DTS.Package', @objPackage 输出
如果@rc <> 0
开始
raiserror('创建包 rc = %d 失败', 16, -1, @rc)
返回
结束
exec @rc = sp_OAMethod @objPackage, 'LoadFromStorageFile' , null,
@UncFile = @FileName, @password = null
如果@rc <> 0
开始
raiserror('无法加载包 rc = %d, 包 = %s', 16, -1, @rc, @PackageName)
返回
结尾
exec @rc = sp_OAMethod @objPackage, 'SaveToSQLServerAs' , null,
@NewName = @PackageName、@ServerName = @@ServerName、@ServerUserName = @Username、@ServerPassword = @Password
如果@rc <> 0
开始
raiserror('无法加载包 rc = %d, 包 = %s', 16, -1, @rc, @PackageName)
返回
结尾
去
执行 s_LoadPackageToServer
'我的包裹',
'c:DTS_AN2CP_DIC.dts' ,
'萨',
'萨'