2017-04-16 35 views
2

與&#X0D處理在SSIS中,我有一個包與從一個表到另一傾銷數據交易。然而,包執行完畢後,我發現我的列到位回車有&#x0D在SSIS

下面是處理此列的查詢的一部分。

(select cast((text) as varchar(max)) from [table] 
where columna = x.columna for xml path (''), type) 

使用type關鍵字修復了這個問題,當我在測試的SSMS此查詢。

我在那之前,我在那裏得到的消息

列「MyColumn」不能Unicode和非Unicode字符串數據類型之間的轉換也遇到了另一個錯誤。

所以我不得不修改受影響的列輸出到Unicode Text Stream (DT_NTEXT)爲了避免任何錯誤(使用Unicode字符串將導致截斷)。

在SSIS包

回答

0

添加.value('.',nvarchar(max)')本聲明的末尾的刪除所有出現在結果&#x0D

最後查詢應該像下面這樣:

(select cast((text) as varchar(max)) from [table1] 
where columna = [table2].columna for xml path (''), type).value('.',nvarchar(max)') 

這是爲了解決有特殊字符和Unicode打交道時,我在SSIS中有另一個問題。

含有溶液中的站點可發現here

0

,我會假設你正在使用OLEDB Source讀取從SQL Server數據。

你可以簡單地使用相同的SQL查詢作爲數據源,而不是使用一個表名

enter image description here