I've set up a Data Flow Task to sync a flat file with its destination table using a Merge Join with a Left Outer Join as described here (and elsewhere).
Inserting and Updating works fine, however, deleting a record from the flat file does nothing.
I guess it's something with the Conditional Split: delete ISNULL(gid_csv) && !ISNULL(gid)
or the following SQL Command: DELETE FROM dbo.gusers WHERE gid = ?
The OLE DB Source and the three destinations are accessing the same table.
What do I miss?
Best Answer
The answer is actually pretty easy:
You have to use a Full Outer Join instead of a Left Outer Join in the Merge Join Task.
The referenced tutorials actually told me to do so, I guess I mixed it up with another tutorial that did not include the merge delete.