我编写了一个SSIS包,它将Excel工作簿中的所有工作表读入数据库。
它主要起作用。它从工作簿中读取循环中的所有工作表。
唯一的缺点是它正在读取 sheetname ,然后是 sheetname $ ,因此复制了大量数据。我对SSIS很新,所以不确定如何使用我的Foreach循环(或其中的某些东西)来过滤它。
有人能指出我正确的方向吗?
由于
答案 0 :(得分:0)
如果在变量中有工作表名称,则可以在优先约束(任务之间的行)中测试变量的值。在Foreach容器中,右键单击该行并选择编辑...这将显示优先约束编辑器。
在编辑器中,在“评估操作”输入中选择“表达式”和“约束”。保留值为成功,以指示在下一个任务运行之前上一个任务必须成功。在Expression框中添加一个测试,当为true时,将允许下一个任务运行。表达式可以测试您要处理的工作表名称。对于所有其他流程,流程将不会继续执行下一个任务,并且当前的Foreach迭代将完成。