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 flux de travail de package SQL ServerIntegration 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 de gestion ou des fichiers de commandes fonctionnant 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 Visual Basic personnalisée qui génère quotidiennement un état des ventes. Ensuite, vous pouvez associer le rapport à une tâche Envoyer un message pour le transmettre à une liste de distribution.

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 et Utilisation de 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 configurez la tâche d'exécution de processus à l'aide de la propriété StandardInputVariable pour fournir l'entrée, appelez la méthode Console.ReadLine de l'application pour lire l'entrée. Pour plus d'informations, consultez la rubrique Console.ReadLine, méthode de la bibliothèque de classes Microsoft.NET Framework.

Lorsque 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 2005 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 My.Application.CommandLineArgs, propriété de 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.

Autres tâches apparentées

Integration Services comprend d'autres tâches qui réalisent des opérations de flux de travail, telles que l'exécution de packages.

Pour plus d'informations sur ces tâches, cliquez sur l'une des rubriques suivantes :

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 de la tâche d'exécution de processus. Pour plus d'informations, consultez Implémentation de la journalisation dans les packages 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 (entrée), stdout (sortie) et stderr (sortie d'erreur).

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 programme.

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 :

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

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

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que des solutions sélectionnées par la communauté, visitez la page Integration Services sur MSDN ou TechNet :

Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.

Historique des modifications

Mise à jour du contenu

  • Indication des informations suivantes sur la définition de la propriété Arguments :

    • un exemple qui indique comment utiliser une expression pour définir la propriété ;

    • un exemple de code qui indique comment définir la propriété My.Application.CommandLineArgs dans l'application afin d'obtenir un argument.