2017-12-07 9 views
0

私はフラットCSVファイルをインポートSSISパッケージを持っている、ファイル20万件のレコードが約あります。私は、データをインポートするテーブルを、アカウント番号のプライマリユニークキーで設定しました。SSISリダイレクト - あまりにも多くの行

しかし、CSVには1つの重複行がありますが、主キーを追加すると7k行がリダイレクトされます...これらのaren何も理由なくロードをリダイレクトするだけの行が重複していませんか?

enter image description here

私は手動でそれが完璧に動作し、単一の重複行を削除した場合。データやファイルに特別なことは何もないので、データをインポートしてエラー行をリダイレクトするだけです。

enter image description here

+0

を使用すると、OLE DB先や定期的な挿入で高速な挿入を使用していますか? – Ferdipux

+0

高速挿入ええ – XDSA5286

答えて

1

この動作は、OLE DB先と使用高速な挿入モードによるものです。高速の挿入モードでは

、OLE DB先はINSERT BULKコマンドを発行し、バッチで挿入しません。バッチ内の行の1つが表の制約に違反すると、バッチ全体が失敗し、エラー出力にリダイレクトされます。これは最初の一見の動作では不思議に思えます.1行以上を拒否します。パフォーマンスの大幅な減少のコストで定期的に挿入モードにOLE DB Destはを切り替える - あなたはそれを行うことができますどのような

は - 単に連続で重複を除外した場合は、あなたの目標に依存しており、制限

  • 。簡単な方法。
  • パフォーマンスの低下はオプションではありません、あなたはそれをシンプルに保つために必要がある場合 - データフローでソートコンポーネントを使用して廃棄重複行フラグをチェックします。警告 - あなたは、どの行が破棄されるかについてのコントロールを持っていません。
  • あなたはデータが通過すべきかについて、いくつかのビジネスルールを実装する必要がある場合 - その後、あなたには、いくつかの得点欄を実装し、行をフィルタするためにそれを使用する必要があります。 Todd McDermidのarticle on thisを参照してください。
関連する問題