为SSIS编写自定义数据流组件(DataFlow Component)之进阶篇:自定义编辑器
2009-09-19 00:00:00 来源:WEB开发网2. 然后,在组件类上面进行指定关联
[DtsPipelineComponent(
ComponentType=ComponentType.SourceAdapter,
Description="这是我的一个自定义数据源组件,它可以读取某个文件夹下面的文件信息",
DisplayName="文件夹数据源",
UITypeName = "MyDataFlowComponentSample.MyDataSourceUIEditor, MyDataFlowComponentSample, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=5207ee26f0ac0166"
)]
确实就是如上的步骤。其实并不复杂,对吧。很多技术都是想通的。
下面我来简单地实现一下这个编辑器。为此我需要添加一个新的窗体。
窗体代码大致如下
using System;
using System.Windows.Forms;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime;
namespace MyDataFlowComponentSample
{
public partial class MyDatasourceUIEditorForm : Form
{
public MyDatasourceUIEditorForm()
{
InitializeComponent();
}
IDTSComponentMetaData90 metaValue;
Variables vars;
Connections conns;
/// <summary>
/// 这个特殊的构造器可以让编辑器与具体的组件进行联系
/// </summary>
/// <param name="meta">这个代表了组件的元数据</param>
/// <param name="variables">这是包中的变量</param>
/// <param name="connections">这是包中的连接管理器</param>
public MyDatasourceUIEditorForm(IDTSComponentMetaData90 meta,
Variables variables, Connections connections)
: this()
{
metaValue = meta;
vars = variables;
conns = connections;
}
private void btOk_Click(object sender, EventArgs e)
{
metaValue.CustomPropertyCollection["Folder"].Value=@"E:\Temp";
//作为演示目的,这里直接用代码给某个属性赋值
}
}
}
更多精彩
赞助商链接