1

現在、設計が不十分でパイプラインが遅いデータベースを使用しているため、データベースのごく一部(15テーブル)をコピーして、それらのテーブルの一部のみを取得することにしました。たとえば、特定の行のみを取得したい場合です。 id。しかし、これは1回限りの移動ではありません。古いデータベースに追加されたものをすべて、新しいデータベースに1時間ごとに追加する必要があります。私の研究は私をSSISに導きました、そしてそれはこれを達成する方法を持っているかもしれません、しかし私はそれが実際に可能であるならばそれがどのように行われるかについての明確な例を見つけませんでした。前もって感謝します。

4

1 に答える 1

2

はい、可能です。sqlエージェントを介してssisパッケージを1時間ごとに実行するようにスケジュールできます。

テーブルの場合、データフロータスクを制御フローにドラッグできます。DFT内に、oledbソースコンポーネント、ルックアップ、データ変換(ソーステーブルとターゲットテーブルでタイプが異なる場合)、およびOledb宛先を配置する必要があります。

oledb Source component:文字列型の変数を作成し、式にSQLクエリを記述して、IDに基づいてデータをフェッチします。次に、この変数をソースコンポーネントで使用します。

Lookup:ソーステーブルを選択し、ソーステーブルと宛先テーブルから主キー列を組み合わせる必要があります。これは内部結合クエリと同様に機能します。両方のテーブルから主キーを組み合わせた後、ソースから必要な列を選択します。

Oledb destination:ターゲットテーブルを選択し、そこから列をマップするだけLookup no matched outputです。ソースから値を更新する必要がある場合は、それを使用Lookup matched outputしてSQL実行タスクに接続し、更新クエリを記述します。

リンクSSISパッケージのSO スケジューリングを通過してください

于 2012-07-25T17:12:01.513 に答える