web-dev-qa-db-fra.com

Expressions SSIS définissant deux variables

J'essaie d'utiliser une "tâche d'expression" dans SSIS pour simplement initialiser/définir deux variables. Cette tâche apparemment simple m'a rendu fou parce que je ne sais pas comment séparer les déclarations:

@[User::testVariable]="1"  
@[User::testVar2]=3

Cela donne une erreur d'analyse, et j'ai lu beaucoup de documentation en vain. Comment les instructions sont-elles séparées et j'espère ne pas avoir à utiliser plus d'une tâche d'expression parce que j'ai beaucoup de variables ... Merci

12
LearnByReading

Vous ne pouvez définir qu'une seule variable à la fois:

Pour modifier la valeur d'une variable pendant l'exécution, vous avez besoin d'une expression ou d'une tâche de script. L'expression n'est pas très flexible et la tâche de script nécessite des connaissances .Net. C'est pourquoi Microsoft a introduit la tâche d'expression dans SSIS 2012. Elle vous permet de définir la valeur d'une variable pendant l'exécution. L'inconvénient est qu'il n'est pas disponible pour 2008 et vous ne pouvez définir qu'une seule variable à la fois .

http://Microsoft-ssis.blogspot.com/2013/07/custom-ssis-component-multiple.html

Vous devez télécharger un Multiple Expressions Task composant fourni sur le lien ou effectuez une Expression Task pour chaque variable.

19
Squ1rr3lz

Quelque chose que j'ai commencé à faire récemment, qui peut être utile aux gens:

Plutôt que d'avoir à passer par la configuration de plusieurs tâches d'expression ou d'une tâche de script, j'ai réalisé qu'il est souvent possible d'utiliser une tâche d'exécution SQL pour faire le travail. Le SQL nécessaire peut varier un peu en fonction de la base de données à laquelle vous vous connectez, mon exemple est basé sur SQL Server.

Mon exemple est basé sur l'initialisation de variables à partir de paramètres, mais cela peut être modifié pour différentes situations.

Étape 1

Créez une requête qui accepte les paramètres dans - ce sont les paramètres ou les variables dont vous avez besoin des valeurs. Vous pouvez bien sûr l'utiliser pour initialiser une variable à 0 ou faire de l'arithmétique sur quelques paramètres ou variables.

Utilisez l'option Ligne unique pour l'option Ensemble de résultats .

General Tab

Étape 2

Configurez votre mappage de paramètres comme d'habitude.

Parameter Mapping Tab

Étape 3

Configurez votre jeu de résultats.

Result Set Tab


Je suppose que l'inconvénient est que vous vous connectez à une base de données pour le faire - mais si vous avez SSIS installé, alors vous avez une instance SQL Server sur ce serveur - donc je ne suis pas sûr que ce soit un gros inconvénient.

Je trouve cela beaucoup moins compliqué que de configurer une tâche de script, mais YMMV.

8
Jo Douglass