2

SSIS Data Tools を使用して、レガシー システムからデータ抽出を作成しています。新しいシステムでは、インポートするファイルを 5 MB のファイルに分割する必要があります。

ファイルを別々のファイルに分割できる方法はありますか? データは既にデータベースにあるため、ループなどを実行して、一度に一定量のレコードを選択できると考えています。

ご意見をお待ちしております。

4

1 に答える 1

4

ソースが SQL の場合、テーブル キーに対して Row_Number 関数を使用して、行ごとに数値を割り当てます。

Row_number() OVER (Order by Customer_Id) as RowNumber

次に、クエリをCTEでラップするか、where句を使用してサブクエリにして、5MDファイルと同等の行数を取得します。

WHERE RowNumber >= 5000 and RowNumber <10000 

このソース ターゲットを (異なる行開始値と行終了値で) 数回呼び出す必要があるため、おそらく最善の方法です。

  • 制御フロー内の合計レコード数を見つけて、TotalRows パラメータを設定します
  • 制御フローにループを作成する
  • 制御フローに 3 つのパラメーターを設定して、レコードの各セットを反復処理し、データを個別のファイルに保存します。たとえば、最初のループが設定されます

    行開始 = 0

    RowEnd = 5000

    FileName = MyFile_[日付]_0_to_4999

于 2012-12-19T09:56:32.637 に答える