在SSIS中根据条件执行数据流任务
Execute Data Flow Task based on condition in SSIS
我是 SSIS 的新手,我正在构建一个将导入文件的包。我有一个 Execute SQL Task 将执行一个 SQL 语句,该语句将 return 需要导入的文件,但是这些文件需要根据正在导入的文件进入不同的表导入。
我的 foreach 容器中有 2 个数据流任务,但现在根据文件类型需要执行其中的 1 个
我怎样才能做到这一点?
编辑
这是将要执行的查询:
SELECT ReconMedicalAidFile.fReconMedicalAidFileID, ReconMedicalAidFile.fReconMedicalAidID,
ReconMedicalAids.fMedicalAidID, ReconMedicalAidFile.fFileName,
ReconMedicalAidFile.fFileLocation, ReconMedicalAidFile.fFileImportedDate, ReconMedicalAidFile.fNumberRecords, ReconMedicalAidFile.fUser,
ReconMedicalAidFile.fIsImported
FROM ReconMedicalAidFile INNER JOIN
ReconMedicalAids ON ReconMedicalAidFile.fReconMedicalAidID = ReconMedicalAids.fReconMedicalAidID
WHERE (fIsImported = 0) AND (fNumberRecords = 0)
所以条件是基于fMedicalAidID
我不相信你能用你当前包的设计方式在 SSIS 中做你想做的事。
另一种方法:
- 在第一个
Execute SQL
任务后添加一个 Conditional Split
任务
- 根据文件类型拆分
- 为每种文件类型创建单独的
ForEach Loop
和 Execute SQL
任务
虚拟脚本方法:
在两个优先约束的表达式中,您评估由第一个 SQL 任务或脚本任务设置的变量。
现在,数据将根据变量的值沿着两条数据流路径之一流下。
脚本任务可以为空,也可以执行设置变量所需的逻辑。
我是 SSIS 的新手,我正在构建一个将导入文件的包。我有一个 Execute SQL Task 将执行一个 SQL 语句,该语句将 return 需要导入的文件,但是这些文件需要根据正在导入的文件进入不同的表导入。
我的 foreach 容器中有 2 个数据流任务,但现在根据文件类型需要执行其中的 1 个
我怎样才能做到这一点?
编辑
这是将要执行的查询:
SELECT ReconMedicalAidFile.fReconMedicalAidFileID, ReconMedicalAidFile.fReconMedicalAidID,
ReconMedicalAids.fMedicalAidID, ReconMedicalAidFile.fFileName,
ReconMedicalAidFile.fFileLocation, ReconMedicalAidFile.fFileImportedDate, ReconMedicalAidFile.fNumberRecords, ReconMedicalAidFile.fUser,
ReconMedicalAidFile.fIsImported
FROM ReconMedicalAidFile INNER JOIN
ReconMedicalAids ON ReconMedicalAidFile.fReconMedicalAidID = ReconMedicalAids.fReconMedicalAidID
WHERE (fIsImported = 0) AND (fNumberRecords = 0)
所以条件是基于fMedicalAidID
我不相信你能用你当前包的设计方式在 SSIS 中做你想做的事。
另一种方法:
- 在第一个
Execute SQL
任务后添加一个Conditional Split
任务 - 根据文件类型拆分
- 为每种文件类型创建单独的
ForEach Loop
和Execute SQL
任务
虚拟脚本方法:
在两个优先约束的表达式中,您评估由第一个 SQL 任务或脚本任务设置的变量。
现在,数据将根据变量的值沿着两条数据流路径之一流下。 脚本任务可以为空,也可以执行设置变量所需的逻辑。