【发布时间】:2014-07-16 08:14:11
【问题描述】:
我知道如果名称匹配,SSIS 会自动映射源和目标中的列。但是当源列名和目的列名不同时,除了手动映射,有没有办法在 SSIS(数据流任务)中映射大量列?
【问题讨论】:
标签: sql-server ssis
我知道如果名称匹配,SSIS 会自动映射源和目标中的列。但是当源列名和目的列名不同时,除了手动映射,有没有办法在 SSIS(数据流任务)中映射大量列?
【问题讨论】:
标签: sql-server ssis
唯一的自动映射标准是匹配名称。如果名称不匹配,那么最简单的方法是拖放到目标编辑器的映射选项卡上。
【讨论】:
您可以使用查询来更改源组件中列的大小,例如使用 SUBSTRING(YourColumn,1,10) 来更改源组件中 YourColumn 的大小(您可以在 @987654321 中检查输出列的大小@),您也可以使用Derived Column 组件来定义具有新大小的新列。
编辑: 您只能映射具有某种数据类型和某种大小的源列和目标列(源列和目标列的名称对映射不重要)。 如果您映射具有不同大小的两列,SSIS 会在转换开始时引发警告并引发错误,并且源中的数据的大小大于目标列。
【讨论】: