Partager via


Tâche d'exécution de processus

La tâche d’exécution de processus exécute une application ou un fichier de commandes dans le cadre d’un workflow de package SQL Server Integration Services. Bien qu'il soit possible d'utiliser la tâche d'exécution de processus pour ouvrir des applications standard telles que Microsoft Excel ou Microsoft Word, il est courant de l'utiliser pour exécuter des applications d'entreprise ou des fichiers de commandes travaillant sur une source de données. Par exemple, vous pouvez utiliser la tâche d'exécution de processus pour développer un fichier texte compressé. Ensuite, le package peut utiliser le fichier texte comme source de données pour le flux de données de ce package. Vous pouvez aussi utiliser la tâche d'exécution de processus pour démarrer une application personnalisée Visual Basic, chargée de générer quotidiennement un rapport sur les ventes. Ensuite, vous pouvez associer le rapport à une tâche Envoyer un message pour le transmettre à une liste de distribution.

Integration Services comprend d’autres tâches qui effectuent des opérations de workflow comme l’exécution de packages. Pour plus d’informations, consultez Tâche d’exécution de package.

Entrées de journal personnalisées disponibles dans la tâche d'exécution de processus

Le tableau suivant répertorie les entrées de journal personnalisées pour la tâche d'exécution de processus. Pour plus d’informations, consultez Journalisation Integration Services (SSIS) et Messages personnalisés pour la journalisation.

Entrée du journal Description
ExecuteProcessExecutingProcess Fournit des informations sur le processus que la tâche est chargée d'exécuter.

Deux entrées de journal sont écrites. La première contient des informations sur le nom et l'emplacement de l'exécutable que la tâche exécute ; la deuxième enregistre la sortie de l'exécutable.
ExecuteProcessVariableRouting Fournit des informations sur les variables qui doivent être acheminées vers l'entrée et les sorties de l'exécutable. Les entrées du journal sont écrites pour stdin (l'entrée), stdout (la sortie) et stderr (la sortie des erreurs).

Configuration de la tâche d’exécution de processus

Vous pouvez définir les propriétés par le biais du concepteur SSIS ou par programmation.

Pour plus d'informations sur les propriétés définissables dans le concepteur SSIS , cliquez sur l'une des rubriques suivantes :

Pour plus d'informations sur la définition de ces propriétés dans le concepteur SSIS , cliquez sur la rubrique suivante :

Paramètres de propriété

Lorsque la tâche d'exécution de processus exécute une application personnalisée, elle fournit l'entrée à l'application via l'une des méthodes suivantes, ou les deux :

  • Une variable que vous spécifiez dans le paramètre de propriété StandardInputVariable . Pour plus d’informations sur les variables, consultez Variables Integration Services (SSIS) et Utiliser des variables dans des packages.

  • Un argument que vous spécifiez dans le paramètre de propriété Arguments . (Par exemple, si la tâche ouvre un document dans Word, l'argument peut nommer le fichier .doc.)

Pour passer plusieurs arguments à une application personnalisée dans une tâche d'exécution de processus, utilisez des espaces pour délimiter les arguments. Un argument ne peut pas inclure d'espace ; sinon, la tâche ne s'exécutera pas. Vous pouvez utiliser une expression pour passer une valeur variable comme argument. Dans l'exemple suivant, l'expression passe deux valeurs variables comme arguments et utilise un espace pour délimiter les arguments :

@variable1 + " " + @variable2

Vous pouvez utiliser une expression pour définir différentes propriétés de tâche d'exécution de processus.

Lorsque vous utilisez la propriété StandardInputVariable pour configurer la tâche Execute Process afin de fournir une entrée, appelez la Console.ReadLine méthode de l’application pour lire l’entrée. Pour plus d’informations, consultez la rubrique Méthode Console.ReadLine dans la bibliothèque de classes Microsoft .NET Framework.

Quand vous configurez la tâche d’exécution de processus à l’aide de la propriété Arguments pour fournir l’entrée, effectuez l’une des étapes suivantes pour obtenir les arguments :

  • Si vous utilisez Microsoft Visual Basic pour écrire l’application, définissez la propriété My.Application.CommandLineArgs. L'exemple suivant définit la propriété My.Application.CommandLineArgs pour extraire deux arguments :

    Dim variable1 As String = My.Application.CommandLineArgs.Item(0)  
    Dim variable2 As String = My.Application.CommandLineArgs.Item(1)   
    

    Pour plus d’informations, consultez la rubrique Propriété My.Application.CommandLineArgs dans la référence Visual Basic.

  • Si vous utilisez Microsoft Visual C# pour écrire l'application, utilisez la méthode Main.

    Pour plus d’informations, consultez la rubrique Arguments de ligne de commande (Guide de programmation C#)du Guide de programmation C#.

La tâche d’exécution de processus comprend également les propriétés StandardOutputVariable et StandardErrorVariable à l’aide desquelles vous pouvez spécifier les variables qui exploitent la sortie et la sortie d’erreur standard de l’application, respectivement.

En outre, vous pouvez configurer la tâche d'exécution de processus de manière à spécifier un répertoire de travail, un délai d'attente ou une valeur pour indiquer que l'exécutable s'est correctement exécuté. La tâche peut également être configurée de manière à échouer si l'exécutable est introuvable à l'emplacement spécifié ou que le code de retour de l'exécutable ne correspond pas à la valeur indiquant la réussite.

Configuration par programmation de la tâche d'exécution de processus

Pour plus d'informations sur la définition par programme de ces propriétés, cliquez sur la rubrique suivante :

Voir aussi

Tâches Integration Services
Flux de contrôle