为SSIS编写自定义任务项(Task)之入门篇
在BI Studio中,默认提供了很多很好用的任务项供我们使用。
但是如果这些任务还没有满足我们的要求,我们能不能自己写一个然后添加到工具箱呢?答案是肯定的。
本文介绍如何开始该工作。
1. 创建一个类库项目
将默认的Class1重命名为MyXMLTask
添加程序集引用: Microsoft.SQLServer.ManagedDTS
2. 编写一个最简单的任务项。我们目前为其实现的功能是:当它执行的时候,弹出一个对话框,告诉我们它在执行了
为此,我们添加System.Windows.Forms 的引用
让我们的类型继承自Task,并为其重写Execute方法。同时为其添加一个DTSTask的Attribute
using System; using System.Collections.Generic; using System.Text; using Microsoft.SqlServer.Dts.Runtime; using System.Windows.Forms; namespace MySSISTaskSample { [DtsTask( Description="这是我的一个自定义XML任务,"+ "它与标准的XML任务的区别就在于可以自动处理命名空间问题", DisplayName="超强XML任务", TaskContact="陈希章:http://www.xizhang.com" )] public class MyXMLTask:Task { /// <summary> /// 这个方法真正执行操作 /// </summary> /// <param name="connections"></param> /// <param name="variableDispenser"></param> /// <param name="componentEvents"></param> /// <param name="log"></param> /// <param name="transaction"></param> /// <returns></returns> public override DTSExecResult Execute(Connections connections, VariableDispenser variableDispenser, IDTSComponentEvents componentEvents, IDTSLogging log, object transaction) { MessageBox.Show("我在工作了"); return base.Execute(connections, variableDispenser, componentEvents, log, transaction); } } }
3. 部署该任务项
请严格按照这篇文章的介绍操作 http://msdn.microsoft.com/zh-cn/library/ms403356.aspx
首先为其生成强名称签名
然后,生成项目,复制dll到如下目录
与此同时,我们还需要将其添加到GAC
4. 在BI Studio中添加该Task
添加一个选项卡:“自定义”
在“自定义”的空白处,点击右键,“选择项”
切换到“SSIS控制项”这个页面,选中“超强XML任务”
点击“确定”
5. 测试该Task
我们新建一个包来测试该任务
执行该任务
到这里为止,我们写的自定义任务已经可以工作了,当然它现在的工作几乎没有什么意义。但本文主要是介绍开发和部署的流程。下一篇,我们将介绍,如何添加自定义编辑页面