none
SSIS Inserer un identifiant déjà existant dans la table de destination. RRS feed

  • Question

  • Bonjour,

    j’ai des données qui proviennent d’un fichier CSV que je veux intégrer dans une base de données SqlServer.

               * Mon fichier CSV est sous la forme suivante:

    Emp_id | Emp_Nom | Emp_Prenom
    ________________________________
    1          | Bidule       | Pierre
    2          | Dupontel   | Paul
    3          | Plantin      | Colette

    * Ma table destination (TabDest) est sous la forme suivante.

    Emp_id | Emp_Maj | Emp_Nom | Emp_Prenom

    Emp_Maj est une colonne où je met à jour les informations suivantes: « New » ou « Modifié ».

    La Source de l'image est un tutorial que j'ai suivi: (https://mcherif.wordpress.com/2013/09/30/ssis-data-transformation-synchronisation-des-insertions-et-des-mises-a-jour-entre-une-source-de-donnees-et-une-destination-merge-join-transformation/comment-page-1/ )

    dans ma conception je vérifie si l'identifiant existe, si oui j'insere un nouveau id avec Emp_Maj New, si non je fais un UPDAT de l'id existant.

    Maintenant après verifiation avec le conditionnal Split si une ligne existe avec le même identifiant dans ma table je ne veux pas la modifier, je veux faire une insertion de cette ligne, sauf que au moment où je fais l’insertion, il va inserer le nombre de colonne matché avec mon Emp_id qui existent, est ce qui est logique,  exemple:

    si dans ma table il y a les données suivants:

    Emp_id | Emp_Maj | Emp_Nom | Emp_Prenom
    ______________________________________________
    2          | New        |   Dupontel |   Paul
    2          | Modifié    |    Dupon    | Paul

    et je veux insérer les données suivant qui proviennent de mon CSV:

    2          | Dupp       | Paule

    Je vais me retrouver avec 4 lignes dans ma table finale (c’est à dire il matche avec 2 identifiants dans la table destination) et il insere Deux lignes au lieux d’une seule ligne (ce qui est normale )comme ce qui suit:

    Emp_id | Emp_Maj | Emp_Nom | Emp_Prenom
    ______________________________________________
    2          |      New   |   Dupontel |   Paul
    2          |    Modifié |    Dupon    | Paul
    2          |    Modifié |     Dupp    | Paule
    2          |    Modifié |    Dupp     | Paule

    Comment réussir à insérer qu’une seule ligne est pas les deux? c'est à dire que la ligne en question qui provient de mon fichier CSV.

    pouvez-vous m’orientez ?

    Mes remerciement par avance.


    lundi 29 octobre 2018 08:05