zoukankan      html  css  js  c++  java
  • 为SSIS编写自定义任务项(Task)之入门篇

    在BI Studio中,默认提供了很多很好用的任务项供我们使用。

    image image

    但是如果这些任务还没有满足我们的要求,我们能不能自己写一个然后添加到工具箱呢?答案是肯定的。

    本文介绍如何开始该工作。

    1. 创建一个类库项目

    image

    将默认的Class1重命名为MyXMLTask

    image

    添加程序集引用: Microsoft.SQLServer.ManagedDTS

    image

    2. 编写一个最简单的任务项。我们目前为其实现的功能是:当它执行的时候,弹出一个对话框,告诉我们它在执行了

    为此,我们添加System.Windows.Forms 的引用

    image

    让我们的类型继承自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

    首先为其生成强名称签名

    image

    然后,生成项目,复制dll到如下目录

    image

    与此同时,我们还需要将其添加到GAC

    image

    4. 在BI Studio中添加该Task

    image

    添加一个选项卡:“自定义”

    image

    在“自定义”的空白处,点击右键,“选择项”

    image

    切换到“SSIS控制项”这个页面,选中“超强XML任务”

    点击“确定”

    image

    5. 测试该Task

    我们新建一个包来测试该任务

    image

    执行该任务

    image

    image

    到这里为止,我们写的自定义任务已经可以工作了,当然它现在的工作几乎没有什么意义。但本文主要是介绍开发和部署的流程。下一篇,我们将介绍,如何添加自定义编辑页面

    本文由作者:陈希章 于 2009/6/20 16:02:05 发布在:http://www.cnblogs.com/chenxizhang/
    本文版权归作者所有,可以转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    更多博客文章,以及作者对于博客引用方面的完整声明以及合作方面的政策,请参考以下站点:陈希章的博客中心
  • 相关阅读:
    Envoy
    Redis 使用总结
    kafka(一)
    docker搭建kafka环境&&Golang生产和消费
    docker-composer +Grafana+Prometheus系统监控之Redis
    Docker基础命令
    connection pool exhausted
    golang 单元测试&&性能测试
    golang http 中间件
    golang 函数的特殊用法
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1507386.html
Copyright © 2011-2022 走看看