2013-03-21 60 views
0

我正在使用SQL Server 2005 SSIS,並且正在導入一個text file,該行在每行的末尾有回車符enter code here,然後我將轉換該值。派生列中的SSIS表達式用任何值替換回車的轉換

(DT_NUMERIC,28,8)(ISNULL(MyField) ? NULL(DT_WSTR,50) : 
REPLACE(MyField,"Carriage Return Value","")) 

Carriage Return Value的地方,我曾嘗試:

CHAR(13) + CHAR(10), "\r\n", "\"" 

但這些不會工作或給出錯誤。

在此先感謝

+0

我有一個解決方案,但我想我的解決方案是創建一個腳本任務來刪除回車換行並覆蓋文件。代碼:My.Computer.FileSystem.WriteAllText(inputFile,My.Computer.FileSystem.ReadAllText(inputFile) .Replace(vbCrLf,String.Empty),False) – markpcasey 2013-03-22 15:23:00

回答

1

您收到了什麼樣的錯誤?你想將整個文件讀入一個變量嗎?或者你是逐行閱讀,並且在行末有超過1個\r\n事件(當你在行末有單個事件發生時,ssis會處理它,你只需要在平面文件連接管理器指定行分隔符。 對了,你說你想更換"\n\r",而應該是"\r\n"(應該不會引發錯誤,雖然)。

+0

它不能轉換爲類型。我將每行讀入數據庫表,但首先使用派生d欄。我將MyField讀入每行的一個新變量,因爲我正在強制類型化(DT_NUMERIC,28,8),如上所示。謝謝 – markpcasey 2013-03-21 16:04:56