[SSIS] Lookup avec variable

Il faut savoir qu'il est possible de variabiliser l'objet "LookUp" de SSIS avec une variable utilisateur (ex: @[User::MaVariable]) .
Seule condition: la gestion du cache du LookUp doit être en "Cache partiel" ou bien en "Aucun cache"

A noter qu'il existe une autre méthode pour éviter de se priver du cache et de diminuer les performances du package. Je détaillerai cette démarche prochainement dans un autre article (indice, outil: gestionnaire de cache)




 Voici les étapes de mise en œuvre après avoir créé l'ensemble des éléments (dataflow, source de donnée, lookup etc...):
  • Mettre la requête du lookup dans une variable évaluée (Ex: @[User::SQL_Lkp]).

  • Affecter la variable (@SQL) à la propriété [Nom_Lookup_Lkp].[SqlCommandParam] dans les propriétés du dataflow contenant le LookUp (dans les expressions des propriétés du dataflow)


  • Dans l'éditeur du LookUp, choisir "Cache partiel" ou "Aucun cache" en fonction de votre besoin et de vos ressources
                    

  • Définir votre connexion ainsi que le requête sans paramètre. Cette requête sera remplacée par celle contenue dans la variable SQL_Lkp
  • Faire le mappage des colonnes
  • Dans "avancé" il est maintenant possible de cocher "modifier l'instruction SQL". Ne rien mettre dans le champ, cela sera fait automatiquement par SSIS.
                                  
  • "OK"

Retourner dans l'éditeur du lookup pour constater que la requête avec paramètre a bien été prise en compte:

Voilà !

Aucun commentaire:

Enregistrer un commentaire