2015-01-20 48 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)

上述表達式刪除/替換新的換行字符