You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建可在SSIS工具箱中显示的控制流与数据流自定义任务

自定义SSIS任务(控制流/数据流)开发及工具箱集成全步骤

前置准备

  • 提前安装对应版本的SQL Server Data Tools (SSDT)、SQL Server Integration Services SDK
  • 开发环境配置.NET Framework,注意版本兼容:SQL Server 2016及以上对应.NET Framework 4.5+,SSIS目前仅支持.NET Framework,不可使用.NET Core/.NET 5+版本

自定义控制流任务开发步骤

  1. 新建*C#类库(.NET Framework)*项目,添加对Microsoft.SqlServer.ManagedDTS程序集的引用,该程序集默认路径为C:\Program Files\Microsoft SQL Server\<你的SQL版本号>\SDK\Assemblies
  2. 自定义任务类继承Microsoft.SqlServer.Dts.Runtime.Task基类,重写核心方法:
    • InitializeTask:写入任务初始化逻辑,例如配置默认参数
    • Execute:写入任务核心执行逻辑,自定义业务代码均在此处实现
  3. 为类添加DtsTask特性,配置显示名称、描述、工具箱图标等属性,示例代码:
    [DtsTask(
        DisplayName = "自定义控制流任务",
        Description = "可复用的自定义控制流任务",
        IconResource = "你的项目命名空间.自定义图标.ico",
        TaskType = "CustomControlFlowTask",
        TaskContact = "你的联系方式"
    )]
    public class CustomControlTask : Task
    {
        // 自定义逻辑实现
    }
    
  4. 强签名程序集:在项目属性「签名」选项卡勾选「为程序集签名」,生成强名称密钥文件,SSIS要求所有自定义扩展必须为强签名
  5. 部署程序集:编译完成后将生成的dll部署到全局程序集缓存(GAC),同时复制到SSIS控制流任务目录:C:\Program Files\Microsoft SQL Server\<你的SQL版本号>\DTS\Tasks

自定义数据流组件开发步骤

数据流组件开发逻辑和控制流任务有明显差异,按以下步骤实现:

  • 新建.NET Framework类库项目,添加Microsoft.SqlServer.PipelineHost、Microsoft.SqlServer.DTSPipelineWrap两个核心程序集引用
  • 自定义数据流组件类继承Microsoft.SqlServer.Dts.Pipeline.PipelineComponent基类
  • 为类添加DtsPipelineComponent特性,指定组件类型(源、转换、目标)、显示名称、工具箱图标等属性
  • 重写核心方法:
    • ProvideComponentProperties:组件初始化逻辑,定义输入输出列、自定义属性
    • PreExecute:执行前预处理逻辑,例如初始化外部连接
    • ProcessInput/PrimeOutput:数据处理核心逻辑,源组件重写PrimeOutput,目标/转换组件重写ProcessInput
  • 同样需要强签名程序集,编译后部署到GAC,同时复制到SSIS数据流组件目录:C:\Program Files\Microsoft SQL Server\<你的SQL版本号>\DTS\PipelineComponents

工具箱集成操作

  1. 打开SSDT的SSIS项目,右键工具箱选择「选择项」
  2. 在弹出窗口切换到「SSIS控制流项」/「SSIS数据流项」标签页,找到你部署的自定义组件,勾选确认后即可在工具箱中显示
  3. 后续可直接拖拽组件到设计面板使用,操作逻辑和内置SSIS组件完全一致

常见问题排查

  • 工具箱找不到组件:先确认dll已正确部署到GAC和对应SSIS组件目录,且版本和当前使用的SSDT版本匹配
  • 执行时报权限错误:确认程序集已正确强签名,且GAC注册成功
  • 自定义属性不显示:检查特性配置和ProvideComponentProperties方法中的属性定义是否正确

内容的提问来源于stack exchange,提问作者Christos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:06:03