Attività Esegui processoExecute Process Task

L'attività Esegui processo consente di eseguire un'applicazione o un file batch nell'ambito del flusso di lavoro di un pacchetto di SQL ServerSQL Server Integration ServicesIntegration Services .The Execute Process task runs an application or batch file as part of a SQL ServerSQL Server Integration ServicesIntegration Services package workflow. Sebbene sia possibile usarla per aprire qualsiasi applicazione standard, ad esempio Microsoft ExcelMicrosoft Excel o Microsoft WordMicrosoft Word, l'attività Esegui processo viene in genere usata per eseguire applicazioni aziendali o file batch che usano un'origine dei dati.Although you can use the Execute Process task to open any standard application, such as Microsoft ExcelMicrosoft Excel or Microsoft WordMicrosoft Word, you typically use it to run business applications or batch files that work against a data source. È ad esempio possibile utilizzare l'attività Esegui processo per espandere un file di testo compresso.For example, you can use the Execute Process task to expand a compressed text file. Il pacchetto può quindi utilizzare il file di testo come origine dei dati per il proprio flusso di dati.Then the package can use the text file as a data source for the data flow in the package. Sempre a titolo di esempio, è anche possibile utilizzare tale attività per eseguire un'applicazione Visual BasicVisual Basic personalizzata che genera un report giornaliero sulle vendite,As another example, you can use the Execute Process task to run a custom Visual BasicVisual Basic application that generates a daily sales report. che può essere allegato a un'attività Invia messaggi e inoltrato a una lista di distribuzione.Then you can attach the report to a Send Mail task and forward the report to a distribution list.

Integration ServicesIntegration Services include altre attività che consentono l'esecuzione di operazioni di flusso di lavoro, quale l'esecuzione di pacchetti. includes other tasks that perform workflow operations such as executing packages. Per altre informazioni, vedere Attività Esegui pacchettoFor more information, see Execute Package Task

Voci di log personalizzate disponibili nell'attività Esegui processoCustom Log Entries Available on the Execute Process Task

Nella tabella seguente sono elencate le voci di log personalizzate disponibili per l'attività Esegui processo.The following table lists the custom log entries for the Execute Process task. Per altre informazioni, vedere registrazione di Integration Services (SSIS).For more information, see Integration Services (SSIS) Logging.

Voce di logLog entry DescriptionDescription
ExecuteProcessExecutingProcessExecuteProcessExecutingProcess Fornisce informazioni sui processi che l'attività dovrà eseguire.Provides information about the process that the task is configured to run.

Vengono scritte due voci di log.Two log entries are written. Una contiene informazioni sul nome e sulla posizione del file eseguibile eseguito dall'attività, l'altra registra l'uscita dal file eseguibile.One contains information about the name and location of the executable that the task runs, and the other entry records the exit from the executable.
ExecuteProcessVariableRoutingExecuteProcessVariableRouting Fornisce informazioni sulle variabili indirizzate all'input e agli output del file eseguibile.Provides information about which variables are routed to the input and outputs of the executable. Vengono scritte voci di log per stdin (l'input), stdout (l'output) e stderr (l'output degli errori).Log entries are written for stdin (the input), stdout (the output), and stderr (the error output).

Configurazione dell'attività Esegui processoConfiguration of the Execute Process Task

È possibile impostare le proprietà tramite Progettazione SSISSSIS o a livello di codice.You can set properties through SSISSSIS Designer or programmatically.

Per ulteriori informazioni sulle proprietà che è possibile impostare in Progettazione SSISSSIS , fare clic su uno degli argomenti seguenti:For more information about the properties that you can set in SSISSSIS Designer, click one of the following topics:

Impostazioni delle proprietàProperty Settings

Quando l'attività Esegui processo esegue un'applicazione personalizzata, fornisce dati di input all'applicazione tramite uno o entrambi i metodi seguenti:When the Execute Process task runs a custom application, the task provides input to the application through one or both of the following methods:

  • Una variabile specificata nell'impostazione della proprietà StandardInputVariable.A variable that you specify in the StandardInputVariable property setting. Per altre informazioni sulle variabili, vedere Variabili di Integration Services (SSIS) e Utilizzo di variabili nei pacchetti.For more information about variables, see Integration Services (SSIS) Variables and Use Variables in Packages.

  • Un argomento specificato nell'impostazione della proprietà Arguments.An argument that you specify in the Arguments property setting. Se, ad esempio, l'attività apre un documento in Word, l'argomento può assegnare un nome al file con estensione doc.(For example, if the task opens a document in Word, the argument can name the .doc file.)

    Per passare più argomenti a un'applicazione personalizzata in un'attività Esegui processo, utilizzare gli spazi per delimitarli.To pass multiple arguments to a custom application in one Execute Process task, use spaces to delimit the arguments. Un argomento non può includere uno spazio. In caso contrario, l'attività non verrà eseguita.An argument cannot include a space; otherwise, the task will not run. È possibile utilizzare un'espressione per passare il valore di una variabile come argomento.You can use an expression to pass a variable value as the argument. Nell'esempio seguente l'espressione passa due valori di variabili come argomenti e utilizza uno spazio per delimitare gli argomenti:In the following example, the expression passes two variable values as arguments, and uses a space to delimit the arguments:

    @variable1 + " " + @variable2

    È possibile utilizzare un'espressione per impostare varie proprietà dell'attività Esegui processo.You can use an expression to set various Execute Process task properties.

    Quando si usa la proprietà StandardInputVariable per configurare l'attività Esegui processo in modo che fornisca dati di input, chiamare il metodo Console.ReadLine dall'applicazione per leggere l'input.When you use the StandardInputVariable property to configure the Execute Process task to provide input, call the Console.ReadLine method from the application to read the input. Per altre informazioni, vedere l'argomento Console.ReadLine Methodnella libreria di classi di MicrosoftMicrosoft .NET Framework.NET Framework .For more information, see Console.ReadLine Methodthe topic, , in the MicrosoftMicrosoft .NET Framework.NET Framework Class Library.

    Quando si usa la proprietà Arguments per configurare l'attività Esegui processo in modo che fornisca dati di input, effettuare uno dei passaggi seguenti per ottenere gli argomenti:When you use the Arguments property to configure the Execute Process task to provide input, do one of the following steps to obtain the arguments:

  • Se si usa Microsoft Visual Basic per scrivere l'applicazione, impostare la proprietà My.Application.CommandLineArgs .If you use Microsoft Visual Basic to write the application, set the My.Application.CommandLineArgs property. Nell'esempio seguente viene impostata la proprietà My.Application.CommandLineArgs per recuperare due argomenti:The following example sets the My.Application.CommandLineArgs property is to retrieve two arguments:

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

    Per altre informazioni, vedere l'argomento Proprietà My.Application.CommandLineArgsnei riferimenti di Visual BasicVisual Basic .For more information, see the topic, My.Application.CommandLineArgs Property, in the Visual BasicVisual Basic reference.

  • Se si usa Microsoft Visual C# per scrivere l'applicazione, usare il metodo Main .If you use Microsoft Visual C# to write the applicate, use the Main method.

    Per altre informazioni, vedere l'argomento Argomenti della riga di comando (Guida per programmatori C#)nella Guida per programmatori C#.For more information, see the topic, Command-Line Arguments (C# Programming Guide), in the C# Programming Guide.

    L'attività Esegui processo include inoltre le proprietà StandardOutputVariable e StandardErrorVariable che consentono di specificare le variabili che usano rispettivamente l'output standard e l'output degli errori dell'applicazione.The Execute Process task also includes the StandardOutputVariable and StandardErrorVariable properties for specifying the variables that consume the standard output and error output of the application, respectively.

    È inoltre possibile configurare l'attività Esegui processo specificando una directory di lavoro, un periodo di timeout o un valore che indica se l'esecuzione del file eseguibile è stata completata.Additionally, you can configure the Execute Process task to specify a working directory, a time-out period, or a value to indicate that the executable ran successfully. L'attività può essere configurata anche in modo da non riuscire se il codice restituito dal file eseguibile non corrisponde al valore che indica il completamento dell'esecuzione oppure se il file eseguibile non viene trovato nel percorso specificato.The task can also be configured to fail if the return code of the executable does not match the value that indicates success, or if the executable is not found at the specified location.

Configurazione a livello di codice dell'attività Esegui processoProgrammatic Configuration of the Execute Process Task

Per ulteriori informazioni sull'impostazione di queste proprietà a livello di codice, fare clic sull'argomento seguente:For more information about programmatically setting these properties, click the following topic:

Vedere ancheSee Also

Attività di Integration Services Integration Services Tasks
Flusso di controlloControl Flow