2016-05-30 16 views
0

すべてのSQLクエリを1つのフォルダに格納し、SSISパッケージを参照して、使用しているSQLファイルのリストを整理して、後でSQLファイルを後で簡単に変更できるようにする必要がありますパッケージを再構築する必要があります。これには、 "SQL実行タスク"とデータフローコンポーネントの "OLE DBデータソース"のクエリに使用しているすべてのクエリが含まれます。データフロータスクの下でSSISデータフロータスクの動的SQLスクリプトパス

、代わりに、問合せウィンドウにソース・データ・ベースのSQLクエリを置く: は、私はのOLE DBデータソース - 1.表またはビュー 2.表のデータ・アクセス・モードで4つのオプションを参照してくださいビュー名変数 3. SQLコマンド 4.変数からのSQLコマンド

変数を使用して、変数をクエリに格納して「Execute SQL Task」で参照できますが、すべてのクエリをSQLファイルに保存し、データフローコンポーネントと "Execute SQL Script Task"に保存します。データフロータスクで動的にする方法が見つからないようです。誰か助けてくれますか?

答えて

0

私はそれらをSQLファイルとして保存することは、どのようなシナリオにも適しているとは思いません。 ここでは、あなたが説明したことを踏まえて私が何をしているかを示します。

クエリは、ファイルではなくデータベースのテーブルにvarcharとして格納できます。次に、結果セットをforeachループし、各行をデータフロー内のoledbデータソースのクエリとして使用する変数にマップできます。

変数を作成し、 "select query from dbo.queries"またはこれまでのループをループするループごとにaを作成します。出力を作成した変数に設定し、コンテナ内でデータフローを作成し、式を使用してsource-taskを設定するか、変数からSQLコマンドを設定します。

コントロールフローは、なぜ必要なときに変更できるストアドプロシージャではないのですか?

+0

Davidさんに感謝します。私の目的は実行を単純化することです.SQLクエリを変更する必要がある場合は、パッケージを編集することなくSQLスクリプトを変更するだけです。あなたの周りの仕事は、実装するのが少し複雑です。 SQLスクリプトをファイルからOLEDBソースコンポーネントに変数やクエリウィンドウに入れるのではなく、簡単に接続する方法はありませんか? – Narender

+0

私はSSISがちょうどオーバーヘッドになるところでそれを行うための多くの方法を考えることができます。なぜ、例えばpowershellだけでそれらを動かすのですか? SSISが必要なのは、ファイルをループしてsqlコマンド変数にその内容を追加するだけではいかがですか? –

関連する問題