What is the "best" or recommended method to check which row has changed and which rows already exist? I found few articles but I am not sure if these methods are the best:
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://consultingblogs.emc.com/jamiethomson/archive/2006/09/12/SSIS_3A00_-Checking-if-a-row-exists-and-if-it-does_2C00_-has-it-changed.aspx
I need this for really large amounts of data from 25 databases
EDIT:
In this article... 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 ... how do I add part for updating records? Do I use OLE DB Command or there's something else in this article I don't see?
Those links are the best out there. Phil and Jamie are very knowledgeable on the subject. Your only other real alternative is to load the whole table and use T-SQL's MERGE command to figure out differences.
Jamie Thomson's post has three outputs that end in Union Alls that don't really "do work" on your end database. To be clear, one of those outputs you can discard - because it's the "no change" output (the one that's labeled "Age has stayed the same"). The one labeled "New Customers" is one you would probably route into an OLE DB Destination. The one labeled "Age has changed" is the one you'd route into an OLE DB Command transform.
Now, the OLE DB Command transform doesn't work that fast. There are ways around that slowness, but a quick search should fix that problem for you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With