SSIS 如何在平面文件目标中抑制 CR/LF?

SSIS How do I suppress CR/LF in a flat file destination?

我有一份错误报告,其中包含输出到 .csv 平面文件的简单查询。生成的最后一列是 nvarchar(1000) 并包含通常在文本中包含 CR/LF 的注释。当您在 Excel 中打开 .csv 时,这些 CR/LF 会触发新列,因此第 6 列中的一半注释最终会出现在第一列的下一行中。

当我在 SSMS 中 运行 查询时,我有一个查询选项 "Retain CR/LF on copy or save." 如果我使用此选项将查询结果直接复制到 Excel,我会重新创建问题。如果我删除此选项,结果将不会中断。这就是我想要的 SSIS 包。

默认情况下,SSIS 在保存时保留 CR/FL,我找不到任何选项来关闭它。谁能指出我正确的方向?

我不知道在查询本身中处理这个是否适合您,但如果可以,您可以尝试使用 REPLACE:

删除 CRLF
SELECT
    col_first,
    col_second,
    ...
    REPLACE(REPLACE(col_last, CHAR(13), ''), CHAR(10), '') AS col_last
FROM yourTable;