WEB开发网
开发学院数据库MSSQL Server 为SSIS编写简单的同步转换组件 阅读

为SSIS编写简单的同步转换组件

 2009-09-19 00:00:00 来源:WEB开发网   
核心提示: 我们最后打开生成的那个文本文件进行验证图片看不清楚?请点击这里查看原图(大图),我们看到,为SSIS编写简单的同步转换组件(4),第一列和第三列的文本全部被处理成了大写,我们也可以在数据流中添加“查看器”,至少要有一个输入列IDTSInput90input=Compone

我们最后打开生成的那个文本文件进行验证

为SSIS编写简单的同步转换组件

图片看不清楚?请点击这里查看原图(大图)。

我们看到,第一列和第三列的文本全部被处理成了大写。

我们也可以在数据流中添加“查看器”,很清楚的看到从“文件夹数据源”到“大写转换”这个管道中,字符是小写的

为SSIS编写简单的同步转换组件

图片看不清楚?请点击这里查看原图(大图)。

而在“大写转换”到“平面文件目标”这个管道中,字符就被转变为大写了

为SSIS编写简单的同步转换组件

图片看不清楚?请点击这里查看原图(大图)。

补充:

该转换组件已经可以工作了。但我们还是可以添加下面的一些功能(例如验证),以便让它更加完整

    public override DTSValidationStatus Validate()
    {
      //验证组件,至少要有一个输入列
      IDTSInput90 input = ComponentMetaData.InputCollection[0];
      if (input.InputColumnCollection.Count > 0)
        return DTSValidationStatus.VS_ISVALID;
      ComponentMetaData.FireWarning(0, 
        ComponentMetaData.Name, 
        "至少应该选择一个输入列", 
        string.Empty, 
        0);
      return DTSValidationStatus.VS_ISBROKEN;
    }
    public override void DeleteInput(int inputID)
    {
      throw new Exception("不能删除输入");
    }
    public override IDTSCustomProperty90 SetInputProperty(int inputID, 
      string propertyName, object propertyValue)
    {
      throw new Exception("不能修改输入");
    }

这样的话,如果用户没有选择列,则会出现下面的错误

为SSIS编写简单的同步转换组件

图片看不清楚?请点击这里查看原图(大图)。

上一页  1 2 3 4 

Tags:SSIS 编写 简单

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接