0

最近、正常に動作していた SSIS パッケージを更新しましたが、次のエラーが表示されます。

Text was truncated or one or more characters had no match in the target code page.

このパッケージは、あるデータベースのテーブルから別のサーバー上の別のデータベースのテーブルに効果的にデータを転送しました。私が行った更新は、転送に別の列を追加することでした。列の長さは Char(10) で、ソース サーバーと宛先サーバーの両方で同じ長さです。データが転送される前に、そこにも Char(10) があります。ブログの投稿やスタックでこのエラーを報告している人を見てきましたが、私が読んだものはどれも役に立ちませんでした. 私が読んだ解決策の 1 つは、データ変換を使用して問題のある列を明示的に変更することでしたが、これは役に立ちませんでした (または修正を誤って適用しました)。

4

2 に答える 2

0

SQL Server と SSIS のどのバージョンを使用していますか?

コンポーネントの出力フィールドと入力フィールドを見てみましょう。CHAR は常にその長さすべてを占有し (つまり、char(10) は常に 10 バイトを使用します)、切り捨てエラーが発生しているため、それが開始点である可能性があります。フィールドのサイズを大きくするか、データをロードするクエリで varchar としてキャストしてみてください (永続的な解決策としてではなく、問題を切り分けようとするだけです)。

于 2012-07-16T08:40:56.167 に答える
0

ADO.NetまたはOLEDB接続を使用している接続はどれですか??

必要な変更があまりない場合は、ソースと宛先を削除してみてください。メタデータがこの問題を引き起こす場合があります。これで問題が解決しない場合は、エラーのスクリーン ショットを投稿してください。

于 2012-07-16T09:07:49.213 に答える