2010-12-01 11 views
2

入力データストリームの内容を保存し、後でそのデータを出力する必要があるSSISトランスフォームコンポーネントを開発しています。これは、(任意のデータ型の)多数のフィールドを持つ多数のレコードである可能性があります。SSISトランスフォームコンポーネント:大規模データストレージ

たとえば、すべてのレコードが入力されるまで1つのレコードを出力できない「ソート」コンポーネントを開発する場合は、このタイプのストレージが必要になります。

私の質問です - この一時的なデータを保存するために推奨される方法は何ですか?私が見たMicrosoftとCodeplexの例は、メモリ内の構造を使用している点でやや些細なものです。私はこれを避けたいと思います。大規模なデータセットを扱うときは非常に悪い考えです。

これを行うためのメカニズムがSSISライブラリにありますか? [存在しないように大丈夫、それが見えます]

私はいくつかのオプションが検討している:

  • ストアストリームでディスク上のデータ、 がメモリ内にこの ストリームに、レコードのオフセットを維持します。 フェーズの出力中に、これらのオフセットを使用して のレコードを探します。
  • データは、ユーザーが選択したADOまたはOLEDBデータソース に格納します。
  • その他のおすすめ?

答えて

2

いいえ - サードパーティがアクセス可能な「バッファリング」メカニズムがAPIに公開されていません。ディスクへのページングや、メモリにすべての行を格納するのを避けるために選択したメカニズムなど、あなた自身が責任を負います。

+0

あまりにも悪いです。代替オプションの提案はありますか? –