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 Exécuter une tâche de package

Entrées de journal personnalisées disponibles dans la tâche d’exécution du 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 des Services d'Intégration (SSIS) et Messages personnalisés pour la journalisation.

Entrée du journal Descriptif
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 du 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 les 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 n’est pas exécutée. 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 pour fournir une entrée, appelez la Console.ReadLine méthode de l’application pour lire l’entrée. Pour plus d’informations, consultez Console.ReadLine, méthode, rubrique , 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 My.Application.CommandLineArgs propriété. L’exemple suivant définit la My.Application.CommandLineArgs propriété pour récupérer 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 My.Application.CommandLineArgs Property dans la référence Visual Basic.

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

    Pour plus d’informations, consultez la rubrique, Command-Line Arguments (Guide de programmation C#) dans le 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 pour échouer si le code de retour de l’exécutable ne correspond pas à la valeur qui indique la réussite, ou si l’exécutable est introuvable à l’emplacement spécifié.

Configuration programmatique de la tâche d’exécution du 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