私はSSISでの経験からしか話すことができないので、これがほんのわずかしか役に立たない場合はお詫び申し上げます。
一般的な衛生状態に関しては、私はこの仕事のためのいかなる種類の目的構築コンポーネントにも出くわしていません。これは、シナリオごとに「不良データ」の定義が大きく異なる可能性があるという考えによるものだと思いますが、おそらく、印刷できない文字を取り除くなどのことが一般的なビジネス要件である可能性があるため、これはやや意外です。
当然、派生列変換、またはより複雑なケースではスクリプトコンポーネントにいつでもフォールバックできますが、これらによってパッケージ間でのロジックの複製が簡単になることはほとんどありません。CozyRocコンポーネントを使用して、パッケージ間で共有できるスクリプトを作成した場合もありますが、そもそもこれらのコンポーネントに実際にアクセスする必要があることに加えて、必要になるたびに一定レベルのセットアップが必要になります。機能。
したがって、このような場合、私は個人的に、一般的な衛生ルーチンをカスタムデータフローコンポーネントに統合することが最善の選択肢であると感じています。いくつかの非常に一般的なデータ検証ロジックを処理するために独自に開発し、チェックボックスを選択して特定の列に適用したいチェックを有効にできるようにコンポーネントエディターを設定しました。次に、ドラッグアンドドロップとデータフローの配線の問題になります。少なくとも私たちにとっては、コンポーネントの開発に時間をかけることは間違いなく価値がありました。
この点でDTSが何を提供するのかわかりません(かなり制限されているか、少なくとも友好的ではないと思いますが、間違っている可能性があります)。したがって、これはレガシーパッケージには役立たない可能性があります。その場合、入力データに対して実行可能であると仮定すると、Cadeのソリューションはおそらく最もストレスのないものになると思います。
一般的なSSISの洞察に関する限り、Jamie Thomsonのブログ(以前はここ)が非常に役立つことがわかったので、彼がこの特定のトピックについて以前に議論したかどうかを確認することをお勧めします。
いずれにせよ、うまくいけば、これは少なくとも少し役に立ち、解決策を考え出すのに幸運がありました。
補足:データベースにデータを貼り付ける前にデータをサニタイズしたいという称賛。データをクリーンアップしたことのない特定のベンダーからデータを取得し、それをXMLに変換して、Webサービス経由で送信しようとします。言うまでもなく、XMLパーサーは印刷できない文字をあまり好きではありません。