
Il n'existe pas de composant permettant de réaliser des upserts avec SQL Server Integration Services.
Il existe cependant une méthode permettant de réaliser cette opération, certes coûteuse en terme de ressource, mais réalisable.
L'idée est d'utiliser un composant "Lookup" qui va aller vérifier l'existence de la clé dans une table.
On définit l'affichage des erreurs du composant à "réacheminer la ligne", on coche la case "clé primaire", et on trace la jointure entre les clés.
Sur la sortie d'erreur, il faut créer un composant OLEDB Insert classique, et sur la sortie standard, un composant OLEDB Command contenant une requête de type :
UPDATE ma_table SET champ1 = ?, champ2 = ?, champ3 = ? WHERE maclef = ?
Tracer ensuite les liens de mapping entre les champs.