複数の子パッケージを実行する SSIS パッケージがあります
pkg1
|
|
|
pkg2
|
|
|
pkg3
構成値に基づいて実行する子パッケージを変更できるように、構成可能な子パッケージを実行したいと思います。
親パッケージ内で子パッケージの実行を有効/無効にできる SSIS のオプションはどれですか?
複数の子パッケージを実行する SSIS パッケージがあります
pkg1
|
|
|
pkg2
|
|
|
pkg3
構成値に基づいて実行する子パッケージを変更できるように、構成可能な子パッケージを実行したいと思います。
親パッケージ内で子パッケージの実行を有効/無効にできる SSIS のオプションはどれですか?
Foreach ループ コンテナー内にパッケージ実行タスクを配置し、テーブルを介して実行されるパッケージを制御できます。パッケージを連続して実行することを計画しているので、このパターンはうまく機能します。
いくつかの詳細:
新しいテーブルを作成する
CREATE TABLE [dbo].[ActivePackages]( [ID] [int] IDENTITY(1,1) NOT NULL, [PackageName] varchar NOT NULL, [Active] [bit] NOT NULL ) ON [プライマリ]
2 行挿入
ID パッケージ名 アクティブ
1 c_mp_Child1.dtsx 0
2 c_mp_Child2.dtsx 1
親パッケージ (p_MainPackage.dtsx) と 2 つの子パッケージ (c_mp_Child1.dtsx および c_mp_Child2.dtsx) を作成します。
p_MainPackage.dtsx 変数の説明
sActivePackageFullPath (文字列)
式: @[User::sSolutionFolder] + "\" + @[User::sActivePackage]
式として評価: True
sSolutionFolder 文字列
oActivePackages オブジェクト System.Object
sActivePackage 文字列
SQL タスクの実行 -- アクティブなプロジェクトのリストを取得し、oActivePackages に保存します
Foreach ループ コンテナー
列挙子: Foreacj ADO 列挙子 ADO オブジェクト ソース変数: User::oActiveProject 変数のマッピング
: User::sActivePackageFullPath 6a. 内部: 子パッケージのパッケージ実行タスク接続文字列: @[User::sActivePackageFullPath]