2016-03-30 8 views
1

私はSSISの新機能ですが、いくつかの基本的な概念を理解し、さまざまなタスクを実行するためのパッケージをいくつか構築しました。SSIS Foreachループを使用して変数に基づいて特定のテーブルに書き込む方法

私は "Base"(dbo.Base)と呼ばれる基本テーブルを持っています。 Base2とBase3という2つの追加テーブルもあります。 SSISにBase2またはBase3のいずれかのデータを使用し、そのデータを他のプロセスが利用する元のBaseテーブルにコピーまたは書き込むために変数に指定する変数を作成します。その後、私は変数を更新する必要があり、残りのプロセスを実行すると、常にBaseテーブルが使用されますが、Baseテーブルは変数に基づいて変更されます。

理想的には、最初のプロセス(メインコンテナ内の約15個)が実行されたときに、実際にどの変数(Base2またはBase3)テーブルを使用するかをユーザーに尋ねるパラメータ型のセットアップを持つとよいでしょう。

それが意味をなさすか、可能であれば私が尋ねるかどうかはわかりません。あなたは何ができるか

おかげで、ジェイ

+0

私の理解が正しいが、SSISパッケージを一時停止して、エンドユーザにプロンプ​​トウィンドウを表示させたいのかどうかは分かりませんか?それで、おそらく、ループやタスクを挿入するアプリケーションを作成する方が簡単でしょうか? – cqi

+0

すべてのテーブルのスキーマは同じですか?私はあなたが最初にパラメータを使ってこの作業をし、当面はユーザーのやりとりを忘れることをお勧めします。 –

答えて

0

こんにちは、あなたのパッケージ参照にあなたはBASE1またはBASE2応じて、どちらかに環境変数を設定するためのカスタムCMDアプリをユーザーに促すことができる環境変数を、変数を持っていますあなたの入力では、プロセスの実行タスクを介してこのアプリケーションを参照することができます。この主な問題は、アプリケーションをSSISDBにデプロイする場合は、CMDウィンドウがポップアップしないため、プロジェクトの展開を検討していない場合でも動作することです。

多すぎる場合でも、環境変数を使用して、テーブルを切り替えるときに手動で変更することができます。

関連する問題