SSISプロジェクトの途中で、特定のテーブルフィールドがchar(30)
からnvarchar(30)
に変更されましたOLEDBコネクタで間違った列の種類を取得するSSIS
ただし、SSISパッケージを実行すると、cannot convert from unicode to non-unicode
というエラーが表示されます。 データベースソースから目的地に直接データを転送しようとしています。
どちらの接続も同じデータベーススキーマを使用するので、変換は必要ありません。
外部列のデータ型をチェックするとD_STR
が表示されますが、これはもう異常ではありません。
私は、キャッシュされたデータの任意の並べ替えを浄化することを望んで、ソースと宛先の両方を削除しようとしましたが、機能しませんでした。
アイデア?
それはそれでした。私は、フロー内のキャッシュされたメタデータをリセットする方法を見つけることができませんでしたが、そのトリックでした。ただし、宛先のマッピングを再作成する必要があるため、これを行う必要があります。S – cfrag
各列をデータが流れるパイプとみなします。設計時に、あなたは30バイトが流れるパイプを必要としているとssisに伝えました。次に、実行時に、30バイトのパイプを通して60バイトを詰め込もうとしました。列のチェックを外して再チェックすると、ssisはデータを見直して30を60バイトのパイプに置き換えました。 – brian
私はメタデータの必要性を理解しています。私が理解していないことは、 "サイズ変更"を強制するための "カラムメタデータのリフレッシュ"ボタンがないことです。代わりに、配管全体をやり直す必要があります。 – cfrag