文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 招聘 专题 新闻
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» 微软SQL Server专区 » SQL Server应用开发 » 将DTS包文件加载到服务器上       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: [转载] 将DTS包文件加载到服务器上  ( 查看:162  回复:0 )   
 
ornll
新新人类  点击可查看详细



帖子 42
精华 0
无忧币 160
积分 130
阅读权限 20
注册日期 2007-9-18
最后登录 2007-12-2 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-12-2 23:01   标题:将DTS包文件加载到服务器上
上一帖 |
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'



千里之外,传递你对震灾人民的关怀
2007-12-2 23:011楼
[ 顶部 ]
     
论坛跳转:  

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号