2

私のパッケージには、約120000のレコードを持つソーステーブルと、キャッシュモードのないルックアップ変換と宛先テーブルがあります.ターゲットと一致しないソースから同じターゲットテーブルにデータを渡しています.パッケージを実行すると、一度に 9000 レコードのみがルックアップに移動するだけです。宛先に挿入されると、他の 9000 レコードがルックアップに移動して続行します。この 9000 レコードのみの理由は何ですか?defaultbuffermaxrows と defaultbuffersize を異なる値に変更してみました、しかし、一度に移動するのは 9000 レコードのみです。

4

1 に答える 1

3

OLEDBの宛先には、プロパティがありますROWS PER BATCH。これを使用して、バッチごとに転送する行数を変更できます。

ここでは、9000レコードのmovinfが原因で、デフォルトの最大行数が10,000であることがわかります。

MSDNから

DefaultBufferSizeプロパティを設定して、タスクが使用するバッファーのデフォルトサイズを定義し、DefaultBufferMaxRowsプロパティを設定して、各バッファーの最大行数を定義します。デフォルトのバッファサイズは10メガバイトで、最大バッファサイズは100メガバイトです。デフォルトの最大行数は10,000です。

編集(あなたのコメントに基づく):

cacheのオプションを設定しているため、機能していませlookupno cache。希望の行またはカスタム行(>デフォルトの行)を挿入/フローするには、以下の手順に従います。

  • ルックアップ設定で、をに設定cache modeFull cacheます。
  • ルックアップでは。を使用しますOLEDB Connection manager
  • 上記のようにOLEDB Destinationセットで。ROWS PER BATCH
  • DataFlowプロパティで、Default BufferMaxRowを目的の行に設定します。

正常に動作します。

于 2012-06-01T07:47:59.130 に答える