本文转自:http://www.cnblogs.com/lijun4017/archive/2008/12/04/1347701.html

编写简单SSIS包光看MSDN应该就问题不大了,最近几天几个朋友来问我SSIS的调用问题,然后想起我当初实现调用SSIS包的问题的时候也走了不少弯路,确实这方面的资料网上很少.下面我总结了一下,大概分为这么三类吧.

1.使用sqserver2005的代理服务来新建作业来执行包任务;

2.使用编程语言来实现包的调用,比如c#或者vb.net等;

3.使用存储过程或者sql语句来调用包;

下面我们一个一个展开讲一下:

1.使用代理服务的方式

我认为这种是调用SSIS包最方便的方式,我的BI项目中基本上都是采用这种方式的.

sqlserver2005安装完毕默认代理服务是禁用的,在"SQL Server Configuration Manager"里面把他给开启;

然后在sqlserver对象资源管理器里面找到sqlserver代理

然后新建作业

新建作业步骤,指定所在服务器,选择包以及一些包的配置信息等

新建作业计划,指定作业的执行周期

还有下面的警报和通知功能也是很有用的功能,这里我就不演示了.

2.使用编程语言调用

这种方式和下面的方式的原理其实也都一样,就是利用dtexec 这个包执行工具来运行包.

行包时,dtexec 可能会返回退出代码。使用该退出代码填充 ERRORLEVEL 变量,然后可以在批处理文件的条件语句或分支逻辑中测试该变量的值。下表列出了 dtexec 实用工具退出时可以设置的值。

0

已成功执行包。

1

包失败。

3

用户取消了包。

4

实用工具找不到请求的包。无法找到包。

5

实用工具无法加载请求的包。无法加载包。

6

实用工具的命令行中有内部语法错误或语义错误。

System.Diagnostics.Process.Start("dtexec.exe","C:\\UpsertData.dtsx");

当然其他参数可以自己指定,关于dtexec的参数请参考MSDN

3.使用存储过程或者sql语句调用包

可以从 xp_cmdshell 提示符下运行 dtexec。以下示例显示如何运行名为 UpsertData.dtsx 的包并忽略返回代码:

EXEC xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'


以下示例显示如何运行相同的包并捕获返回代码:

DECLARE @returncode int
EXEC @returncode = xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'

[转]SSIS包的调用方式的更多相关文章

  1. Python包模块化调用方式详解

    Python包模块化调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一般来说,编程语言中,库.包.模块是同一种概念,是代码组织方式. Python中只有一种模块对象类型 ...

  2. 运行SSIS包的六种方式

    注意: 1~5都需要SSIS安装在对应的机器上. 一.直接在Data Tool里运行 右键选择要运行的包,然后直接选择运行包 二.使用SQL Server的Job作业 可以选择:a. File Sys ...

  3. 总结运行SSIS包的几种方式

    方式一: 在BIDS里直接跑. 这个BIDS指的就是SQL Server Business Intelligence Development Studio,对于.net开发者来说它就是Visual S ...

  4. C#调用SSIS包及读取DataReader目标

    C#调用SSIS包需要引用两个DLL .(具体位置在C盘搜索,MSDN和百度提供的路径都不太正确) Microsoft.SQLServer.ManagedDTS.dll Microsoft.SqlSe ...

  5. 在SQL Server中使用命令调用SSIS包

    在SQL Server中可以使用dtexec命令运行SSIS包(2005以上版本),当然也可以通过系统过程:xp_cmdshell调用dtexec运行SSIS包. 具体操作步骤如下: 1.首先,当然是 ...

  6. c#直接调用ssis包实现Sql Server的数据导入功能

    调用ssis包实现Sql Server的数据导入功能网上已经有很多人讨论过,自己参考后也动手实现了一下,上一次笔者的项目中还用了一下这个功能.思前想后,决定还是贴一下增强记忆,高手请54. 1.直接调 ...

  7. SSIS包部署

    1.ssis包部署可以生成部署文件,部署到sqlserver,再通过sqlserver计划作业来执行. 2.也可以通过shell来调用dtsx ,通过windows计划任务来定时调用exe. 不论是哪 ...

  8. 一步一步部署SSIS包图解教程

    本文就SQL统计分析SSIS包的部署进行一次详细的部署图解教程,Sql Server Integration Services 提供了非常简单的部署工具,利用这些工具可以方便地将包文件(*.dtsx) ...

  9. SQL Server Integration Services(SSIS) 包配置与部署

    SSIS配置此处的配置方式,主要针对到正式服务器上要修改服务器名,和连接服务器等配置注意:1. 包配置在windows2008上生成后,在windows2003上mysql的配置无法使用,总是报错连接 ...

随机推荐

  1. awk处理之案例五:awk匹配字段2包含字段1的文本

    编译环境 本系列文章所提供的算法均在以下环境下编译通过. [脚本编译环境]Federa 8,linux 2.6.35.6-45.fc14.i686 [处理器] Intel(R) Core(TM)2 Q ...

  2. Freemarker的页面和JS遍历后台传入的Map

    后端传到前端的Map Freemarker页面遍历Map: JS遍历Map:

  3. Dubbo简单DEMO以及重要配置项

    DEMO pom.xml 消费方和服务提供方一致 <properties> <spring.version>4.0.6.RELEASE</spring.version&g ...

  4. Http请求加签、验证操作

    加签.验签的作用 常见的http请求交互过程中,请求参数通过url或者request body等形式传输.但是由于http请求的开放性,使得请求参数很容易被拦截篡改.因此,需要对请求参数进行加签,然后 ...

  5. 【转载】RecyclerView使用全解析

    崇拜下鸿洋大神,原文地址:http://blog.csdn.net/lmj623565791/article/details/45059587 概述 RecyclerView出现已经有一段时间了,相信 ...

  6. 阿里云轻量级学生机搭建FTP最新教程

    碰了几次壁,我整理一下分析自己在阿里云上成功安装FTP的教程. 1.使用root用户进入云服务器. 2.rpm  -qa|grep vsftpd 查看是否安装了ftp,一般阿里云服务器你以前没安装过, ...

  7. Did Pong Lie? (差分系统 判负环)

    Did Pong Lie? 时间限制: 5 Sec  内存限制: 128 MB提交: 68  解决: 15[提交][状态][讨论版] 题目描述 Doctor Pong has two arrays o ...

  8. CentOS中Ctrl+Z、Ctrl+C、Ctrl+D的区别

    Ctrl+C和Ctrl+Z都是中断命令,但作用不同. Ctrl+C是发送SIGINT信号,终止一个进程. Ctrl+Z是发送SIGSTOP信号,挂起一个进程,将作业放置到后台(暂停状态).与此同时,可 ...

  9. 【tomcat】获取访问者真实IP

    1.直接访问tomcat的情况 通过下面这段代码可以获取: String ip = request.getHeader("x-forwarded-for"); if(ip == n ...

  10. Knockout.js(一):简介

    Knockout是一款很优秀的JavaScript库,通过应用MVVM模式使JavaScript前端UI简单化.任何时候你的局部UI内容需要自动更新,KO都可以很简单的帮你实现,并且非常易于维护. K ...