旋风

Communication comes from our hears and heads! my msn:youpeizun@hotmail.com


导航

 内容概览:

      动机

      目标

      设计

       解决方案说明与下载

       测试示例  

 A. 动机

SSIS提供了一强大的可视化的包编辑功能,太过于依懒可视化功能,使程序不够灵活,可重性低。需要把一些简单的,可重用性高的功能迁移到后台去做,而不必要再每个包添加可重用性较高的步骤,这样为以后的唯护减少众多的麻烦

B.   目标:
    1
、在包中添加连接管理器
    2
、在包中添加参数
    3
、在包中添加包配置
    4
、在包控制流中添加任务
    5
、在数据流中添加适配器(源与目标)
    6
、创建适配器这间的管道
    7
、处理适配器的输入列与输出列的映射

           现在做的很简单,希望给有兴趣的朋友一个参考,由于没有向SSIS一样有可视化的数据验证提示功能,可能在创建时不小时就出现COM异常。
     
非常希望有兴趣的朋友给点意见,和有兴趣朋友去扩展它,让它更强大些,到时别忘了给我一份参考,也让我爽一把

C. 简洁版创建SQL Server 数据集成包辅助类库设计   

     如下(图1)所示,类库中包含四大模块: 控制流(ControlFlow),数据流(DataFlow),连接管理器(Connections),外部数据源(ExternalMetadata) 。 

 控制流模块中中实现功能包含:

1.添加执行SQL任务
2.
添加执行包任务
3.
创建包中任务之间的连接
4.
添加参数集合
5.
添加包配置

数据流模块中实现功能包含:

1.创建一个数据流适配器组件
2.
创建组件之间路径
3.
获取数据流中的组件
4.
映射上流数据流组件输出列与下流数据流组件的输入列
5.
映射源适配器的输出列
6.
映射目标适配器的输入输出列

连接管理器模块实现的功能包含:

     1.向包中添加连接器
2.
初始化平面文件连接管理器的配置
3.
获取创建连接器的短名称     

      外部数据源

      支持平面文件,源文件,OLEDB类型数据源。 

 

                              (图1)

    

 连接管理器模块

 

 


 

 

控制流模块

 

 

 

 

 

 

 

 

 

 

 数据流模块

 

 

 A. 解决方案说明与下载:

    解决方案中包含有两个项目,一个是实现创建SSIS包对象辅助类库,一个是测试类库的一个示例。创建SSIS包对象辅助类库代码分四大块:添加连接管理器相关方法的类,添加控制流中任务中的相关方法类,添加数据流中组件的相关方法类,和提供创建包中对象的配置信息实体。

 

 

解决方案下载

     

   E 测试示例 

     在这个测试中,主要是用创建好的Simple.SSIS辅助类去创建两个测式示例:一个是父包调子包,一个是数据清洗例子。父包调子包,父包中包含一个执行包任务,执行包的的任务就是执行已创建好的子包,子包中包含一个执行SQL任务。
数据清洗任务中,数据从一个文本文件中清洗到数据库中,过程中不做任何处理,如果数据库支持的数据    
    数据清洗示例中文本中的数据TestData.TXT
    20080501|89|one
    20080502|98|two
    20080506|100|three
    20080507|110|four
    数据清洗示例中数据库表
  

 

Code

 

Code

 

结束!