2013-08-21 20 views
7

私は垂直バー{|}で区切られたテキストファイルを持っています。上記のエラーで失敗します。SSIS - テキストが切り捨てられているか、ターゲットコードページに1つ以上の文字が一致していません - 特殊文字

私はフラットファイル接続マネージャを持っています。そこで、各列の列幅を設定します。エラーの原因となる特定の列は

のDataTypeた - DT_WSTR

OutputColumnWidth - 30

問題は、特定の列はしかし 'ソシエテAmomynaダPramt Hgyme' のような特殊な文字がある場合にのみ発生しますまだ30文字しかありません。

カラムの幅を増やしても効果はありますが、正しい解を知る必要があります。

詳細が必要な場合はお知らせください。事前のおかげで

答えて

19

あなたは高度の下にフラットファイル接続マネージャに移動し、「OutputColumnWidth」説明のツールヒントを見ればそれはコンポジット文字は以上のスペースを使用することを教えてくれます。したがって、「ソシエテ」の「é」は複数のキャラクターを占める可能性が最も高いです。

EDIT:ここではそれについて何か:http://en.wikipedia.org/wiki/Precomposed_character

+0

おかげで、だから、「からString型の与えられた値を、私は30から40に「OutputColumnWidthを」増加したが、ADO NET先フェーズの間でそれがエラーで失敗しますデータソースを指定されたターゲット列のnvarchar型に変換することはできません "このため、データベース表の列幅も増やす必要がありますか? – Swamy

+0

サイズよりもエンコーディングに問題がある可能性があります。データベースのNVARCHAR列はUnicode文字列を処理する必要がありますが、ADOタスクを処理するように構成する必要があります。 – TsSkTo

+0

はいエンコンディングをUTF-8に変更し、すべての問題が解決されました。私はOutputColumnWidthを増やす必要はありません。これは私にも役立ちました "http://www.joelonsoftware.com/articles/Unicode.html" – Swamy

関連する問題