删除SSIS平面文件中的NEWLINE字符

时间:2015-01-20 20:14:31

标签: ssis

有没有办法从SSIS中的平面文件中删除换行符?没有脚本任务。

背景:我需要将平面文件的所有内容作为单个字符串值发送。

3 个答案:

答案 0 :(得分:0)

如果您可以访问某些SQL数据库,则可以尝试将平面文件的数据导出到该数据库中的SQL表中。数据将在SQL中加载到多行中。然后,您需要做的就是连接所有行中的数据。

表格结构

DataRow
----
This
is a 
really
good way.

作为SQL语句的代码

DECLARE @Data VARCHAR(MAX) 
SELECT @Data = COALESCE(@Data + '', '') + DataRow
FROM YourTable
WHERE ISNULL(DataRow, '') <> ''
SELECT @Data

然后,您可以将上述SQL语句放在Execute SQL Task中,并将输出放到结果集中,并将其映射到某个字符串变量,该变量可以根据您的意愿使用。

答案 1 :(得分:0)

我选择编写一个简单的方法来读取整个文件并将其写入单个String变量,该变量实际上是一个DTS变量:

public String getFileData(FileInfo file)
    {
        string text = System.IO.File.ReadAllText(@file.FullName);
        return text;

    }

答案 2 :(得分:0)

在sql查询中对具有换行符

的列使用此表达式

选择 RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(ColumnWithNewLineChar,CHAR(9),&#39;&#39;),CHAR(10),&#39;&#39;),CHAR(13),&#39 ;&#39;)))作为表

中的ColumnWithOutNewLineChar

Tab,char(9)。换行,char(10)。回车,char(13)

上面的表达式删除/替换新的行字符