2017-04-16 4 views
2

SSISでは、あるテーブルから別のテーブルにデータをダンプするパッケージを用意しています。しかし、パッケージの実行が終了した後、私のカラムにはキャリッジリターンの代わりに&#x0Dがあることがわかりました。SSISで&#x0Dを処理する

以下は、この列を処理するクエリの一部です。

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

私はSSMSでこのクエリをテストしていたときに、この問題を修正しtypeキーワードを使用しました。

私もその後、私はUnicodeと非Unicode文字列データ型の間で変換することはできませんメッセージ

コラム「MYCOLUMN」を得た場所の前に別のエラーが発生しました。

エラーが発生しないようにするには、影響を受けた列をUnicode Text Stream (DT_NTEXT)に変更する必要がありました(Unicode文字列を使用すると切り捨てが発生します)。

答えて

0

が結果に表示されるすべての&#x0Dを削除します。

最終クエリは次のことを好きでなければならない:

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

これは、特殊文字とUnicodeを扱うとき、私はSSISに持っていた別の問題を解決することでした。

解決策を含むサイトはhereです。

0

SSISパッケージでは、OLEDB Sourceを使用してSqlサーバーからデータを読み取っていると仮定します。この文の最後に.value('.',nvarchar(max)')を追加

あなたは、単に代わりにテーブル名を使用してのデータソースとして同じSQLクエリを使用することができます

enter image description here

関連する問題