zoukankan      html  css  js  c++  java
  • 为SSIS编写自定义数据流组件(DataFlow Component)之入门篇

    这一篇开始介绍一下如何为SSIS编写自定义的数据流组件,包括源、转换、和目标三种。

    在SSIS的开发中,我们都知道数据流是最有意思的,也是最富有挑战性的部分。现有的数据流组件已经很丰富了,即便某些特殊功能,我们也可以通过脚本组件来完成工作。

    但是,脚本组件有一个问题,就是它很难在包之间重复利用。这样就促使我们想办法开发一些通用的组件来加快开发需要。

    编写自定义数据流组件的步骤与编写自定义任务的思路和步骤都比较类似。这一篇,我们来演示一下如何创建三个组件,分别对应源、转换和目标

    1. 创建一个类库项目,修改默认的Class1为Component,然后在这个代码文件中,添加三个类型

    image

    2. 添加引用

    image

    image

    image

    3. 实现三个类型

    using Microsoft.SqlServer.Dts.Pipeline;
    
    namespace MyDataFlowComponentSample
    {
        [DtsPipelineComponent(
              ComponentType=ComponentType.SourceAdapter,
              Description="这是我的一个自定义数据源组件",
              DisplayName="超强数据源")]
        public class MyDataSource:PipelineComponent
        {
        }
    
        [DtsPipelineComponent(
              ComponentType=ComponentType.Transform,
              Description="这是我的一个自定义数据转换",
              DisplayName="超强数据转换")]
        public class MyTransfomation:PipelineComponent
        { 
        
        }
    
        [DtsPipelineComponent(
            ComponentType=ComponentType.DestinationAdapter,
            Description="这是我的一个自定义数据目标组件",
            DisplayName="超强数据目标")]
        public class MyDestination:PipelineComponent
        { 
        
        }
    }
    

    现在是最简单的代码,不作任何其他的实现

    4. 为程序集签名

    image

    5. 添加生成后事件

    image

    COPY "$(TargetPath)" "C:\Program Files\Microsoft SQL Server\90\DTS\PipelineComponents\$(TargetFileName)"
    "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\GACUTIL.exe" -u "C:\Program Files\Microsoft SQL Server\90\DTS\PipelineComponents\$(TargetFileName)"
    "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\GACUTIL.exe" -i "C:\Program Files\Microsoft SQL Server\90\DTS\PipelineComponents\$(TargetFileName)"
    image 

    6. 生成项目,并在下面的目录查看

    image

    image

    7. 在BI Studio中添加这三个组件

    image

    image

    全部选中这三个组件,然后点击“确定”,三个组件会出现在工具箱中。然后,我们将其拖放在数据流的视图中,看起来像下面这样

    image

    到这里为止,我们创建了一个新的项目,里面包含了三个自定义的数据流组件。当然,他们还没有任何功能。这个下面会有介绍

    本文由作者:陈希章 于 2009/6/20 19:54:52 发布在:http://www.cnblogs.com/chenxizhang/
    本文版权归作者所有,可以转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    更多博客文章,以及作者对于博客引用方面的完整声明以及合作方面的政策,请参考以下站点:陈希章的博客中心
  • 相关阅读:
    System.Web.Mvc.HttpPostAttribute vs System.Web.Http.HttpPostAttribute? [duplicate]
    Autofac Exception Summary Autofac异常汇总
    AppBox v1.0 发布了
    [原创]ExtAspNet秘密花园(十一) — 布局概述
    ExtAspNet v3.1.9
    ExtAspNet v3.1.8 发布了
    ExtAspNet 主题赏析 7款 超炫!
    ExtAspNet v3.1.7
    ExtAspNet v3.1.6
    [原创]采用Asp.Net的Forms身份验证时,持久Cookie的过期时间会自动扩展
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1507467.html
Copyright © 2011-2022 走看看