だから...私があなたの質問を正しく理解していると思うなら...あなたがしたいのはそのExcelID値を変数に保存し、それをパート2のデータフローに派生列として追加することです。
したがって、パッケージは次のようになります。
SQLタスクの実行
ConnectionType EXCEL、ConnectionはExcel接続、結果セットは「単一行」、SQLステートメントは「selecttop 1 * from[SheetNameWithDataSourceIDGoesHere$]」です。結果セットは、結果名「0」を変数名にマップします(これをUser :: DataSourceIDと呼びます)。
データフロータスク
出典:Excelシート
派生列:これをDataSourceIDと呼び、値はUser::DataSourceIDです。
ルックアップ:データソースを検索している場所に対して。データ変換とストアドプロシージャに向かう一致出力はありません。
凝ったものにしたい場合は、最初のタスクの後に2番目のExcecute SQLタスクを含めることができます。SQLStatementSourceの式を使用して、データソースIDを含むデータベーステーブルに対して実行します。
何かのようなもの:
"select count(1) as DataSourceIDExists from DATASOURCELOOKUPTABLE where DataSourceID = " + (DT_WSTR,50)@User::DataSourceID
次に、それを「単一行」のResultSetにマップし、結果名「0」をUser::DataSourceIDExistsにマップします。次に、そのタスクの後に、次の式で優先順位制約を使用します。
(User::DataSourceIDExists == 0)
データフロータスクに進んでExcelデータをロードするかどうかを判断します。あなたはまだ完全なSSISエキスパートではないように思われるので、これは優れた学習機会として役立つかもしれません。