C# 如何在SSIS中使用脚本组件创建列?
我有以下情况: 我需要在SSIS中创建一个项目,以便将一些数据从csv导入到我们的系统中,但为此,我必须阅读一些列,其中一列是值的“组”。 是规划期限的值,该期限可以更改每个流程,因此一些流程可以是5个月,其他流程可以是15个月 文件(csv)将始终填充21列,但在(22、23…)之后,我不知道是1列、2列还是更多列(地平线) 在这种情况下,我无法通过脚本转换编辑在“输入和列”中创建列,我需要根据地平线的长度创建列 所以,我的问题是,当我发现地平线的长度时,是否可以在运行时创建一列C# 如何在SSIS中使用脚本组件创建列?,c#,sql-server,ssis,ssis-2008,C#,Sql Server,Ssis,Ssis 2008,我有以下情况: 我需要在SSIS中创建一个项目,以便将一些数据从csv导入到我们的系统中,但为此,我必须阅读一些列,其中一列是值的“组”。 是规划期限的值,该期限可以更改每个流程,因此一些流程可以是5个月,其他流程可以是15个月 文件(csv)将始终填充21列,但在(22、23…)之后,我不知道是1列、2列还是更多列(地平线) 在这种情况下,我无法通过脚本转换编辑在“输入和列”中创建列,我需要根据地平线的长度创建列 所以,我的问题是,当我发现地平线的长度时,是否可以在运行时创建一列 SSI不是这
SSI不是这样工作的。列数在设计时设置
如果您可以设置一个合理的上限,比如50列,那么您可以读取最后一列数据,然后通过脚本组件将其解析到这些字段中。否则,您需要对文件进行预处理,以将可变宽度行解压到一个规范化集中。SSIS不能以这种方式工作。列数在设计时设置
如果您可以设置一个合理的上限,比如50列,那么您可以读取最后一列数据,然后通过脚本组件将其解析到这些字段中。否则,您需要对文件进行预处理,以将可变宽度行解压到一个规范化集中。您可以用两种不同的方法来完成此操作
你可以用两种不同的方式来做
所有答案的答案。我改变了我的愿景,创造了不同的未来。 我使用脚本转换来检查:
尊敬,谢谢所有答案。我改变了我的愿景,创造了不同的未来。 我使用脚本转换来检查:
关于,简短回答:不,您不能在SSIS的运行时创建列。如果目标中的列数更改,则需要刷新元数据。或者,您可以使用命令目标为每行运行INSERT语句或存储的Proc,但这会降低性能。简短回答:否,您不能在SSIS的运行时创建列。如果目标中的列数更改,则需要刷新元数据。或者,您可以使用命令目的地为每一行运行INSERT语句或存储的Proc,但这会降低您的性能。这就是如何使用脚本组件添加列。只需要在Output0中添加一列。在Input0\u ProcessInputRow方法中,为列指定所需的值。我特别需要创建一个字符串,这个字符串太复杂了,在sql中做不到。这回答了我的问题,并将我引向了这篇文章。这就是如何使用脚本组件添加列。只需要在Output0中添加一列。在Input0\u ProcessInputRow方法中,为列指定所需的值。我特别需要创建一个字符串,这个字符串太复杂了,在sql中做不到。