SQLServer2000用存储过程将DTS包文件加载到服务器上

SQLServer2000用存储过程将DTS包文件加载到服务器上

最近用sqlserver2000给客户做了DTS导数据的包,现在要把这些包迁移到其它的服务器上,方法总如下:

方法1:在要迁移的服务器上把包打开->另存为->选择“位置”中的“SQLserver”->选择要导入的服务器,用户,密码,点击保存就过去了。

方法2:

1)在要迁移的服务器上把包打开->另存为->选择“位置”中的“结构化存储文件”,在文件名中填入要保存的位置。

2)在要导入的服务器里,建下面的存储过程,然后运行即可:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[s_LoadPackageToServer]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[s_LoadPackageToServer]
GO

Create procedure s_LoadPackageToServer
@PackageName varchar(128) ,
@FileName varchar(500) ,
@Username varchar(100) ,
@Password varchar(100)
as
/*
exec s_LoadPackageToServer
@PackageName = 'mypackage' ,
@FileName = 'c:/dtspckgs/mypackage.dts' ,
@Username = 'sa' ,
@Password = 'pwd'
*/
declare @objPackage int
declare @rc int

exec @rc = sp_OACreate 'DTS.Package', @objPackage output
if @rc <> 0
begin
   raiserror('failed to create package rc = %d', 16, -1, @rc)
   return
end

exec @rc = sp_OAMethod @objPackage, 'LoadFromStorageFile' , null,
   @UncFile = @FileName, @password = null
if @rc <> 0
begin
   raiserror('failed to load package rc = %d, package = %s', 16, -1, @rc, @PackageName)
   return
end

exec @rc = sp_OAMethod @objPackage, 'SaveToSQLServerAs' , null,
   @NewName = @PackageName, @ServerName = @@ServerName, @ServerUserName = @Username, @ServerPassword = @Password
if @rc <> 0
begin
   raiserror('failed to load package rc = %d, package = %s', 16, -1, @rc, @PackageName)
   return
end
go

exec s_LoadPackageToServer
   'mypackage' ,
'c:/DTS_AN2CP_DIC.dts' ,
   'sa' ,
'sa'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值