Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 列数较高时数据流任务中的SSIS列映射_Sql Server_Ssis - Fatal编程技术网

Sql server 列数较高时数据流任务中的SSIS列映射

Sql server 列数较高时数据流任务中的SSIS列映射,sql-server,ssis,Sql Server,Ssis,我知道如果名称匹配,SSI会自动映射源和目标中的列。但是,当源和目标列名不同时,除了手动映射外,还有没有其他方法可以在SSIS(数据流任务)中映射大量列?您可以使用查询更改源组件中列的大小,例如使用子字符串(YourColumn,1,10)来更改源组件中列的大小(您可以在Source Component\Advanced Editor\Input and output Properties\Source output\output Columns\YourColumn中检查输出列的大小),也可以

我知道如果名称匹配,SSI会自动映射源和目标中的列。但是,当源和目标列名不同时,除了手动映射外,还有没有其他方法可以在SSIS(数据流任务)中映射大量列?

您可以使用查询更改源组件中列的大小,例如使用子字符串(YourColumn,1,10)来更改源组件中列的大小(您可以在
Source Component\Advanced Editor\Input and output Properties\Source output\output Columns\YourColumn
中检查输出列的大小),也可以使用
Derived column
组件定义具有新大小的新列

编辑: 只能使用某些数据类型和大小映射源列和目标列(源列和目标列的名称对映射不重要)。
如果映射两个大小不同的列,SSI将发出警告,并在转换启动时引发错误,并且源中的数据大小大于目标列。

映射的唯一自动条件是匹配名称。如果名称不匹配,则最简单的方法是在目标编辑器的“映射”选项卡上拖放

我说的不是更改列的大小。我说的是在数据流任务中映射它们。当源和目标中的大量列的名称不匹配时,是否有方法映射这些列?很抱歉造成混淆。