zoukankan      html  css  js  c++  java
  • 在SQL Server中使用命令调用SSIS包

    在SQL Server中可以使用dtexec命令运行SSIS包(2005以上版本),当然也可以通过系统过程:xp_cmdshell调用dtexec运行SSIS包。

    具体操作步骤如下:

    1.首先,当然是要在Business Intelligence中设计好包,并调试通过。

    2.然后,有两种方式可以在SQL Server中使用命令运行SSIS包

    第一种是直接执行ssis包文件,命令如: exec xp_cmdshell 'dtexec /f "c: est.dtsx"'

    第二种是将包文件发布或者导入到Integration Services服务中,然后再执行。

    发布包是在Business Intelligence中生成发布文件,并发布到Integration Services服务中。生成发布文件后,双击发布文件,选择[部署到SQL Server],然后输入服务器名称,用户名,密码,并选择包路径为“/”,并选择[依靠服务器存储进行加密],点击[下一步],选择要安装到的位置即可。

    导入包是在Managemenet Studio,选择接Integration Services服务,选择“已存储的包”-”MSDB“,右键导入包,选择文件系统,指定要导入的包,保护级别要选择[依靠服务器存储和角色进行访问控制]。

    发布包和导入包的作用和目的是一致的,都为为了将包放入到Integration Services服务中。

    包发布或者导入后,就可以使用如下命令进行调用了:

    exec xp_cmdshell 'dtexec /DTS "MSDB est" /SERVER "servername"  /MAXCONCURRENT " -1 " /CHECKPOINTING OFF  /REPORTING V '

    注意点:

    1.以上操作中用到的系统过程xp_cmdshell默认是禁用的,要想使用,必须先开启,开启方法见:http://blog.csdn.net/yongsheng0550/article/details/2879062

    2.发布包或者导入包时,必须选择正确的保护级别,发布包时选择[依靠服务器存储进行加密],导入包时选择[依靠服务器存储和角色进行访问控制],否则会出现错误:[   说明: 无法解密受保护的 XML 节点“DTS:Password”,错误为 0x8009000B“该项不适于在指定状态下使用。”。可能您无权访问此信息。当发生加密错误时会出现此错误。请确保提供正确的密钥。]



  • 相关阅读:
    少用 if 进行普通意义上的参数验证
    到底差在了什么地方:Cs>MUTEX>Monitor>WaitHandle
    SQL Server 中的事务和锁(三)Range SU,XX 以及死锁
    练习:自己动手实现一个轻量级的信号量(二)
    让人崩溃的一上午
    我所犯的几个愚蠢错误(一)
    一个系列 之二
    练习:自己动手实现一个轻量级的信号量(一)
    Delphi的DirectShow开发概述
    xvid的中文简介
  • 原文地址:https://www.cnblogs.com/james1207/p/3333808.html
Copyright © 2011-2022 走看看