用户登录
用户注册

分享至

SSIS 2012:离线连接管理器功能

  • 作者: 六味地黄丸治肾亏不含糖
  • 来源: 51数据库
  • 2020-12-23

    SSIS 2012有一个新特性就是,它支持关闭连接管理器的功能,这一点使开发人员的生活更轻松了。默认情况下,当你打开程序包时,SSIS会检查所有数据源,确保外部元数据是有效的。如果你的包中包括了许多网络资源连接,或者数据源访问比较慢(或者临时不可用),那打开包的这个过程就会消耗非常多的时间;因此,如果你需要经常重新打开包的话,这会把你搞得很沮丧。


    离线连接管理器


    你可以通过在个体组件上设置“DelayValidation”属性来解决这个问题;但是如果你发现你必须经常重设这个属性,而且有许多这类组件需要操作,你就需要花大量时间处理这个问题,而不能专心开发你需要的程序包了。
 


 

    配置连接管理器为离线工作[page]

    然而,SSIS 2012使你有了更简便的办法。现在只要通过几次点击,你就可以指定连接管理器的离线或者在线状态。要设置连接管理器为离线工作状态,请在“连接管理器”窗体中该组件上右击,然后点击“离线工作”菜单,如图1所示。


    当你设置连接管理器为离线工作时,SSIS就会在“连接管理器”窗体中的连接管理器名称前面增加一个图标(红色的向下箭头)。图2展示了“AW2012 ”连接管理器设置为离线工作之后的样子。
 



    连接管理器设置为离线工作


    一旦你设置连接管理器为离线工作,使用这个连接的组件将不再验证元数据,直到连接管理器回到在线状态才会验证。事实上,任何引用该连接管理器的任务或者数据流组件,都会标记上一个红色叉号,表示该组件不能获取连接。


    如果想让连接管理器回到联机状态,只需要右键单击该连接管理器,然后再次点击“离线工作”菜单取消该选项选中状态即可。你还可以不用做任何操作,当你关闭并重新打开程序包时,所有连接管理器都会被验证并设置为联机工作状态。


    既然重新打开包会设置所有连接管理器为联机工作的话,看起来使用离线工作选项似乎没有什么优势了。“DelayValidaton ”属性的设置在你关闭并重新打开包之后仍然存在。与该属性不同的是,SSIS支持在打开包之前会将所有连接管理器设置为离线工作。在项目打开包没打开的情况下,在SSIS菜单中选择“离线工作”选项,然后再打开你的包,所有连接管理器将被设置为离线工作状态,这样就避免了初始化的验证过程。[page]
    列映射解析


    想象一下这样的场景:你创建了一个SSIS包,配置复杂的数据流,然后发现在你的数据源那边有一个字段名变了。在过去,SSIS对这类干扰处理得不是很好,尤其是涉及数据流的数据路径变化时。这种变更情况下重新分配映射列经常会导致个别组件的重新配置或者重新实现。SSIS 2012解决了这个问题,它支持轻而易举地更新列引用。
 



    在数据路径列映射中的一个错误


    我们来看一个例子,理解一下它是如何工作的。图3展示了一个数据流,其中包含文本文件数据源和“OLE DB”目标。在该程序包创建之后,数据源中的一个列名改变了,这就导致上图看到的红色叉号“X”指向数据路径。
 



    解决数据路径中的列映射问题


    如果你在数据路径上单击右键,就会发现一个新选项菜单“重新映射引用”的出现,如图4所示。点击该菜单,你就可以修改数据流中的输入和输出引用,让它指定为特定的数据路径。
 



    数据路径中未映射的列[page]

    点击该菜单项运行“调整引用”对话框,如图5所示。你可以看到三个列映射到“Column 1, Column 2 和 Column 3 ”,这些信息都显示在对话框中间的“映射列”表格中。请注意,源列表中包含有“ColA”列。这就是名称变化的列,原来是“ Column 0”,改成了“ColA”.还要注意的是“目标”列表中包含有“ Column 0”列。原来的源列和目标列共享使用这个名称,现在变成彼此映射了。
 


 

    映射与数据路径相关联的列


    要映射“ColA ”到“Column 0”列,你可以把每个列拖拽到“映射列”表格合适的行中,这样他们就手动映射上了,如图6所示。
 



    预览调整后的列引用


    一旦你给“已映射列”表格中增加了列,就可以通过点击“预览变更”按钮来验证你的变更。这个操作会运行“预览调整引用”对话框,如图7所示。如你所见,指向“ OLE DB”目标的“Column 0”,现在映射到“ColA ”列了。


    那些经历过数据路径引用映射调整的人们将会对此有特殊的理解,他们会认为这个新功能可以节约很多时间。只需要几次简单的点击,你就可以重新映射列,马上就能回到正常业务。


软件
前端设计
程序设计
Java相关