我是SSIS的新手,我正在构建一个导入文件的包 . 我有一个执行SQL任务,它将执行一个SQL语句,它将返回需要导入的文件,但这些文件需要根据导入的文件进入不同的表 .
我的foreach容器中有2个数据流任务,但现在基于它需要执行其中一个的文件类型
我怎样才能做到这一点?
EDIT
这是将要执行的查询:
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
2 回答
虚拟脚本方法:
在两个优先约束的表达式中,您将评估由第一个SQL任务或脚本任务设置的变量 .
现在,数据将根据变量的值向下流向两个数据流路径中的一个 . 脚本任务可以为空,也可以执行设置变量所需的逻辑 .
我不相信你能够按照当前包的设计方式在SSIS中做你想做的事 .
另一种方法:
在第一个
Execute SQL
任务之后添加Conditional Split
任务基于文件类型拆分
为每种文件类型创建单独的
ForEach Loop
和Execute SQL
任务