数据转换是SSIS生命周期中不可或缺的一部分。一旦原始数据到手,转换组件的任务就是进行必要的变形,将数据转换为所需的格式。在本文中,将探讨SSIS转换中的四个组件:复制列、派生列、字符映射和条件分割,并看看它们是如何协同工作来解决回文问题。请注意,这个例子并没有实际生活中的应用,但是这个例子旨在让SSIS新手了解这些组件的工作方式。
源文件数据如下所示:
要执行的步骤:
打开BIDS。从可用的项目类型中选择“集成服务项目”。在控制流设计器中拖放一个数据流任务。
在数据流中拖放一个平面文件源。在连接管理器中指定数据源,并勾选“列名在第一行数据中”复选框。 在“列”选项卡中,将输出列名更改为“原始单词”: 点击“确定”。
让拖放一个复制列到数据流设计器,并双击它以打开复制列转换编辑器。 复制列组件的目的是将输入列复制到一个新列。 点击“可用输入列”复选框。制作原始输入列的复制列,该列将在后续转换中用于反转。 配置完成后,点击“确定”按钮。
接下来,让拖放一个派生列组件到设计器,并从复制列组件到派生列组件添加前置约束。这个组件的目的是将表达式应用于输入列。 双击派生列组件,将打开派生列转换编辑器。 接下来,让进行以下配置更改: 选择“派生列(在图中编号为2)”,对于第一个列命名为“派生列名称”,让给它一个列名“ReverseWord”(在图中编号为1)。从可用函数中,让选择“字符串”函数类别中的“反转”函数,并将其拖放到“表达式”列。表达式将是REVERSE(ReverseWord)(在图中编号为3)。最后,让确保数据类型列设置为字符串[DT_STR]。完成后,点击“确定”按钮。
由于在反转原始数据后,大小写可能会发生变化,这将在稍后的比较阶段导致不正确的结果,最好是在相同的大小写中比较原始单词和反转单词。字符映射组件是这种情况的完美选择。让向设计器添加一个字符映射组件,并将数据流从派生列组件添加到字符映射组件。双击字符映射组件以打开字符映射转换编辑器,然后进行以下设置,如图表所示。 设置完成后,点击“确定”按钮。
下一步是添加一个条件分割组件。它的目的是根据指定的条件将传入的数据分割并路由到不同的输出。因此,在数据流设计器中添加条件分割组件,并执行从字符映射组件到条件分割组件的数据流后,双击后者以打开条件分割转换编辑器,然后进行以下更改: 设置完成后,点击“确定”按钮。
添加两个行采样(一个用于成功,另一个用于失败)并在数据流路径上添加数据查看器。最终的包设计如下所示: 运行应用程序,将得到所需的输出。