2015-01-20 49 views
-1

是否有方法从SSIS中的平面文件中删除换行符?没有脚本任务。在SSIS平面文件中删除NEWLINE字符

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

+0

发送方法如何?数据的来源是什么?在删除换行符之前它是否必须变成一个平面文件?您试图修复多少行数据。需要更多上下文。请点击编辑来澄清您的问题,您现有的包裹是什么样的等等 – billinkc 2015-01-20 20:20:36

回答

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 

然后你就可以有一个Execute SQL Task内上面的SQL语句,并输出到一个结果集和将它映射到一些字符串变量,可以根据您的意愿使用它。

0

我选择编写一个简单的方法,以读取整个文件,并将其写入到单个字符串变量,它实际上是一个DTS变量:

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

    } 
0

使用这个表达式中的SQL查询的列新行文字

select RTRIM(REPLACE(REPLACE(ColumnWithNewLineChar,CHAR(9),''),CHAR(10),''),CHAR(13),'')))作为ColumnWithOutNewLineChar从表

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

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