0

2008 SSIS パッケージのフラット ファイルの宛先に書き込んでいます。99.99% 正しく動作します。ただし、宛先ファイルに 1 つの重複レコードがあります。

パッケージの基本フローは次のとおり
です。 1. ISO-8859-1 でエンコードされた 2 つのファイルを読み取り、それらのテキストをメモリ内で UTF8 にエンコードします
。 2. メモリ内で 2 つのファイルを結合し、ルックアップ キャッシュにロードします
。 3. 別のソース ファイルを読み取ります。ディスクから
4. ソース ファイルの ID 列をルックアップ キャッシュの ID 列と
照合する 5. ID がルックアップ キャッシュの ID と一致する場合は一致ファイルに書き込み、ID が一致しない場合は別のファイルに書き込むファイル

すべてが最初から最後まで機能します。ただし、一致ファイルに重複があります。重複は、ルックアップ キャッシュ テキスト ファイルを結合したときに、ファイルの終わり (またはその他の) 特殊文字が原因であると考え始めました。これらのファイルは UNIX システムで生成されます (ただし、読み取るときは UTF8 にエンコードしています)。重複レコードは毎回同じレコードです。重複を取得しないようにするにはどうすればよいですか (または、重複がどこから来ているかを突き止めます)? 宛先に正当な重複があるため、重複の削除を使用できません。私はこれを数週間理解しようとしています。

4

2 に答える 2

1

データをステージング テーブル (クエリ可能なテーブル) に配置することから始めます。結合すると重複が生じることがわかるかもしれません。また、有効な opnes がある場合、これが無効な重複であることをどのように知ることができますか? 無効になる理由は何ですか?

于 2011-04-13T21:03:32.300 に答える
1

私は問題を理解しました。その行を削除するソースを読み取るときに、フィールドを空の文字列に設定しませんでした。次に、その行はルックアップ変換でランダムな行に一致し、続行して宛先に書き込まれました。

于 2011-04-15T19:47:52.317 に答える