我在 SSIS 中创建了一些东西来创建基于 4 个 sql 查询的 csv 文件。它使用一系列排序和合并来以正确的格式返回(看起来是)一个 csv。但是,行中的尾随逗号不是最长行的长度。最短的数据行只有 1 列,最长的大约是 46 列。所以 1 列的行有 45 个逗号来匹配最长的行。
需要定期生成此 CSV 文件并将其发送给第 3 方供应商。
如何清理逗号?有没有办法在 SSIS 中执行 VB 或 C# 代码,它会遍历每一行并清除所有逗号?
我在 SSIS 中创建了一些东西来创建基于 4 个 sql 查询的 csv 文件。它使用一系列排序和合并来以正确的格式返回(看起来是)一个 csv。但是,行中的尾随逗号不是最长行的长度。最短的数据行只有 1 列,最长的大约是 46 列。所以 1 列的行有 45 个逗号来匹配最长的行。
需要定期生成此 CSV 文件并将其发送给第 3 方供应商。
如何清理逗号?有没有办法在 SSIS 中执行 VB 或 C# 代码,它会遍历每一行并清除所有逗号?
首先:为什么需要删除逗号?CSV 代表(在其核心)可能等效数据的单个数据集。因此 1 列行和 46 列行应该是相似的实体,并且 45 个空白值是完全有效的。如果它们不是相似的实体,为什么它们在同一个 CSV 中?
话虽如此,为了简单地删除逗号,因为您暗示您对 .Net 感到满意,所以您想要的是Script Task。
在创建 CSV 的数据流之后,创建一个脚本任务:
或者,您可以创建一个批处理文件或可执行文件来执行相同的任务,然后将Execute Process 任务与您的 CSV 作为参数一起使用。