检查哪一行已更改以及哪些行已存在的“最佳”或推荐方法是什么?
我发现了一些文章,但我不确定这些方法是否是最好的:
http://www.ssistalk.com/2007/03/09/ssis-using-a-checksum-to-define-if-a-row-has-changed/ http://www.ssistalk.com/2007/03/09/ssis-using-a-checksum-to-determine-if-a-row-has-changed/
http://itssmee.wordpress.com/2010/10/03/ssis-insert-and-update-rows-in-a-table-based-on-the-contents-of-a-excel-file/ http://itssmee.wordpress.com/2010/10/03/ssis-insert-and-update-rows-in-a-table-based-on-the-contents-of-a-excel-file/
http://consultingblogs.emc.com/jamiethomson/archive/2006/09/12/SSIS_3A00_-Checking-if-a-row-exists-and-if-it-does_2C00_-has-it-changed.aspx http://consultingblogs.emc.com/jamiethomson/archive/2006/09/12/SSIS_3A00_-Checking-if-a-row-exists-and-if-it-does_2C00_-has-it-changed.aspx
我需要这个来处理来自 25 个数据库的大量数据
EDIT:
在本文中...http://consultingblogs.emc.com/jamiethomson/archive/2006/09/12/SSIS_3A00_-Checking-if-a-row-exists-and-if-it-does_2C00_-has-it-changed.aspx http://consultingblogs.emc.com/jamiethomson/archive/2006/09/12/SSIS_3A00_-Checking-if-a-row-exists-and-if-it-does_2C00_-has-it-changed.aspx...如何添加更新记录的部分?我是否使用 OLE DB 命令,或者本文中还有其他我没有看到的内容?
这些链接是最好的。菲尔和杰米在这个问题上非常了解。唯一真正的替代方案是加载整个表并使用 T-SQL 的 MERGE 命令来找出差异。
Jamie Thomson 的帖子有三个以 Union Alls 结尾的输出,这些输出并没有真正在您的最终数据库上“起作用”。需要明确的是,您可以丢弃这些输出之一 - 因为它是“无变化”输出(标有“年龄保持不变”的输出)。标有“新客户”的客户可能会路由到 OLE DB 目标。标有“年龄已更改”的内容是您要路由到 OLE DB 命令转换中的内容。
现在,OLE DB 命令转换的速度没有那么快。有很多方法可以解决这种缓慢的问题,但是快速搜索应该可以解决这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)