我有一个SSIS项目,其中一个步骤涉及从Oracle表填充SQL Server表。
Oracle表格中有一列 ssis_control_flag 。我想将所有将此字段设置为“T”的记录拉出来。
现在,我想知道哪种方法最好的方式,以及我在问题中详述的两个选项。
所以真的,我想知道哪个会更快/更好。我应该在SSIS包中创建一个条件拆分来过滤掉我想要的所有记录吗?或者我应该在Oracle中创建一个基于条件选择记录的视图,并将该视图用作SSIS中的数据源?
或者有更好的方法吗?非常感谢您的帮助!
由于
答案 0 :(得分:2)
为什么不使用WHERE子句来过滤记录,而不是创建视图?可能是我没有正确回答你的问题。
然后通常,不建议将所有数据带到SSIS然后过滤掉。特别是当你可以在源DB端自己进行过滤时。还要考虑网络带宽成本。
然后,您在此处讨论的这个特定过滤器无法在SSIS中以比DB更高的效率完成。因此,在Oracle DB本身中做得更好。
答案 1 :(得分:1)
您可以使用openrowset作为数据流源的查询,而不是直接访问Oracle表。