方式一: 在BIDS里直接跑。

这个BIDS指的就是SQL Server Business Intelligence Development Studio,对于.net开发者来说它就是Visual Studio。以下是老外文章中的步骤:

首先,包设计完成之后,右键解决方案浏览器,选择属性。

在包配置界面中,Build旁边的OutputPath选择包被Build之后的存放路径,确认后点击OK结束配置。

然后在解决方案管理器中,右键点击要运行的包,选择Set as StartUp Object。

最后,在解决方案管理器中再次右键要运行的包,选择Execute Package。

以上是老外文章中提到的四个步骤,个人感觉设置Build目录这块有些多余。设置Startup Object,主要考虑到一个项目下如果有很多包的时候,当你点击运行的时候,运行哪一个包。当然我们平时最多的时候还是直接到最后一步,就是直接右键要运行的包然后直接选择运行包。

这种方法是开发和运行SSIS包最基本的方式,尤其是在开发和调试以及测试包运行的时候,比如可以看一个数据流任务中某一个步骤在运行时所传递的数据。

方法二:使用DTEXEC.EXE命令行工具。

DTEXEC.EXE位于SQL Server的安装目录下,通过这个命令可以指定dtsx包文件来运行包或者运行已经部署到SQL Server中的包,比如通过如下命令:

DTEXEC.EXE /F "C:\BulkInsert\BulkInsertTask.dtsx"

这种命令行的方式给批处理以及Powershell 下进行调用就方便了很多。

方法三:使用DTEXECUI.EXE工具。

方法二使用的是命令行工具的方式,这里将要介绍的是带图形界面的方式。

首先,在命令行中输入命令DTEXECUI.EXE。

在弹出的界面中指定想要运行的包就可以了。

其实这个界面就是在SQL Server Management Studio的Intergration Services中执行包一样的界面。

方法四:使用SQL Server作业。

这个方法是执行SSIS包最常见的方法。在Management Studio下连接数据引擎,然后在Agent下找到Jobs建立作业。

借助作业里的Schedule,可以让SSIS包在一个指定的周期里进行运行。

在作业的步骤里,可以指定步骤为SSIS包类型,然后指定SSIS包所在的位置。

方法五:c#调用数据包。

这个是老外原文没有提到的方法,在这里补充上。

这种方法首先需要引入对应的dll组件:Microsoft.SqlServer.DTSRuntimeWrap.dll

然后引入命名空间:using DtsRunTime = Microsoft.SqlServer.Dts.Runtime.Wrapper;

实例化如下对象:

DtsRunTime.Application dtsApplication = new DtsRunTime.Application();

之后,可以调用实例化对象对应的方法来运行包,比如保存在本地的包文件:

DtsRunTime.IDTSPackage90 package = dtsApplication.LoadPackage(@"c:\abc.dtsx", true, null);

或者部署到SSIS里的包:

DtsRunTime.IDTSPackage90 package = dtsApplication.LoadFromSQLServer(PACAAGENAME, SEVERNAME, SQLUSER, SQLPWD, true, null);

最后无论以哪种方式调用的包,都通过如下方法来接收结果:

DtsRunTime.DTSExecResult result = package.Execute();

最后的几点补充:

留意方法四,在任务里调用包的方法可以衍生到方法五里的另外一种实现,比如通过SQL语句来启动一个Job:

EXEC msdb.dbo.sp_start_job N'JOBNAME'

方法五经过在实际测试中,对版本和权限可能会出现各种问题,所以这种方法四的衍生方法相对更容易实现些。

无论以哪一种方式运行SSIS包,都需要SSIS安装在对应的机器上。也就是说,你把开发好的包拿到一台没有安装SSIS机器上想要运行是行不通的。另外就是通过程序调用的方式虽然是需要SSIS的支持,但是SSIS服务没有必要运行。

所以在很多商业智能项目中,通常借助SSIS包来定期从OLTP中向数据仓库中抽取数据,或者数据仓库中其它的数据任务,当然还有园子里的高手提到过的用它来实现监控任务

总结运行SSIS包的几种方式的更多相关文章

  1. java打jar包和运行jar包的两种方式

    java打jar包和运行jar包的两种方式更详细的打包方式请参考https://www.cnblogs.com/mq0036/p/8566427.html 一.java类不依赖第三方jar包以简单的一 ...

  2. 基础知识:编程语言介绍、Python介绍、Python解释器安装、运行Python解释器的两种方式、变量、数据类型基本使用

    2018年3月19日 今日学习内容: 1.编程语言的介绍 2.Python介绍 3.安装Python解释器(多版本共存) 4.运行Python解释器程序两种方式.(交互式与命令行式)(♥♥♥♥♥) 5 ...

  3. 周一02.3运行python程序的两种方式

    一.运行python程序的两种方式 方法一:交互式:                     优点:输入一行代码立刻返回结果                      缺点:无法永久保存代码 方法二: ...

  4. maven 引入外部jar包的几种方式(转)

    原文链接: maven 引入外部jar包的几种方式 方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud< ...

  5. Maven打jar包的三种方式

    Maven打jar包的三种方式 不包含依赖jar包 该方法打包的jar,不包含依赖的jar包,也没有指定入口类. <build> <plugins> <plugin> ...

  6. 使用Maven运行Java main的3种方式

    使用Maven运行Java main的3种方式 原文  http://blog.csdn.net/qbg19881206/article/details/19850857 主题 Maven maven ...

  7. 转-Pycharm中运行Python代码的几种方式

    转自:Pycharm中运行Python代码的几种方式 在pycharm中的Python代码运行会出现各种奇葩的问题,比如,密码输入时不显示或没有提示,给我们带来一些麻烦,下面介绍几种代码运行的几种方式 ...

  8. springboot打成jar包和war包的两种方式,并引入第三方jar包!

    springboot打成jar包和war包的两种方式,并引入第三方jar包! 首先把需要引入的第三方jar包引入到本地项目中,在引用的模块下加一个lib文件夹 一.打成jar包 1.修改pom文件里的 ...

  9. 可运行jar包的几种打包/部署方式

    java项目开发中,最终生成的jar,大概可分为二类,一类是一些通用的工具类(不包含main入口方法),另一类是可直接运行的jar包(有main入口方法),下面主要讲的是后者,要让一个jar文件可直接 ...

随机推荐

  1. psql-09表:视图和索引

    视图 由查询语句定义的虚拟表;从视图中看到的数据可能来自数据库中的一张或多张表,也可能来自外部; 使用视图的原因一般有: 使复制的查询易于理解和使用; 安全原因; 表一些函数返回的结果映射成视图; 一 ...

  2. Fzu2124 - 吃豆人 BFS

    Description 吃豆人是一款非常经典的游戏,游戏中玩家控制吃豆人在地图上吃光所有豆子,并且避免被怪物抓住. 这道题没有怪物,将游戏的画面分成n*m的格子,每格地形可能为空地或者障碍物,吃豆人可 ...

  3. 创建WSDL项目

    WSDL文件是测试基于soap的服务,他们定义实际暴露服务和要求SoapUI生成测试,要求信息,验证和MockServices. SoapUI支持最广泛使用的1.1版本的WSDL和SOAP 1.1和1 ...

  4. Android调用默认浏览器打开指定Url

    业务员有需求要将一个wap站在手机上以App的形式打开,还不要嵌套WebView,只能以浏览器打开.查了点资料,就有了下面这货. package com.gzz.whyinzi; import and ...

  5. GridView点击行触发SelectedIndexChanged事件

    1.在<% @Page ...... %>指令中添加 EnableEventValidation="false" 2.在RowDataBound事件中添加 protec ...

  6. BZOJ2705: [SDOI2012]Longge的问题

    Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一 ...

  7. VS使用的一些备忘东西

    1.VSc++代码快速对齐格式化,VC内置了一个将代码按标准风格对齐的命令:ALT+F8 (需全选对齐内容)

  8. securecrt 检测到较旧的配置设置 需要迁移为新格式

    secureCRT一直没有关闭,新登录的服务器的配置信息没有保存,一直打开时无法保存的,需要全关了,再打开就正常了!!!

  9. JavaScript之闭包就是个子公司

    在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数.这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外.所以,有 ...

  10. Java编程中-servlet

    今天将别人的项目导入eclipse之后,出现了“The import javax.servlet cannot be resolved”错误 import javax.servlet.ServletE ...