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 altre informazioni sull'impostazione di queste proprietà in Progettazione SSISSSIS , fare clic sull'argomento seguente:For more information about how to set these properties in SSISSSIS Designer, click the following topic:

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:

Editor attività Esegui processo (pagina Generale)Execute Process Task Editor (General Page)

Usare la pagina Generale della finestra di dialogo Editor attività Esegui processo per assegnare un nome e una descrizione all'attività Esegui processo.Use the General pageof the Execute Process Task Editor dialog box to name and describe the Execute Process task.

OpzioniOptions

NomeName
Consente di specificare un nome univoco per l'attività Esegui processo.Provide a unique name for the Execute Process task. Tale nome viene utilizzato come etichetta nell'icona dell'attività.This name is used as the label in the task icon.

Nota

I nomi delle attività devono essere univoci all'interno di un pacchetto.Task names must be unique within a package.

DescriptionDescription
Consente di digitare una descrizione dell'attività Esegui processo.Type a description of the Execute Process task.

Execute Process Task Editor (Process Page)Execute Process Task Editor (Process Page)

Utilizzare la pagina Processo della finestra di dialogo Editor attività Esegui processo per configurare le opzioni di esecuzione del processo.Use the Process page of the Execute Process Task Editor dialog box to configure the options that execute the process. Tali opzioni includono il file eseguibile da avviare, il relativo percorso, gli argomenti del prompt dei comandi, nonché le variabili per la generazione dell'input e l'acquisizione dell'output.These options include the executable to run, its location, command prompt arguments, and the variables that provide input and capture output.

OpzioniOptions

RequireFullFileNameRequireFullFileName
Consente di indicare se l'attività deve avere esito negativo nel caso in cui il file eseguibile non venga trovato nel percorso specificato.Indicate whether the task should fail if the executable is not found at the specified location.

File eseguibileExecutable
Consente di digitare il nome del file eseguibile da avviare.Type the name of the executable to run.

ArgomentiArguments
Consente di specificare gli argomenti del prompt dei comandi.Provide command prompt arguments.

WorkingDirectoryWorkingDirectory
Consente di digitare il percorso della cartella contenente il file eseguibile. È inoltre possibile fare clic sul pulsante con i puntini di sospensione (…) per selezionare la cartella.Type the path of the folder that contains the executable, or click the browse button (…) and locate the folder.

StandardInputVariableStandardInputVariable
Selezionare una variabile per fornire input per il processo, fare clic su < nuova variabile... > per creare una nuova variabile:Select a variable to provide the input to the process, or click <New variable...> to create a new variable:

Argomenti correlati: Aggiungi variabileRelated Topics: Add Variable

StandardOutputVariableStandardOutputVariable
Selezionare una variabile per acquisire l'output del processo, fare clic su < nuova variabile... > per creare una nuova variabile.Select a variable to capture the output of the process, or click <New variable...> to create a new variable.

StandardErrorVariableStandardErrorVariable
Selezionare una variabile per acquisire l'output degli errori di elaborazione, fare clic su < nuova variabile... > per creare una nuova variabile.Select a variable to capture the error output of the processor, or click <New variable...> to create a new variable.

FailTaskIfReturnCodeIsNotSuccessValueFailTaskIfReturnCodeIsNotSuccessValue
Consente di indicare se l'attività deve avere esito negativo nel caso in cui il codice di uscita del processo non corrisponda al valore specificato in SuccessValue.Indicate whether the task fails if the process exit code is different from the value specified in SuccessValue.

SuccessValueSuccessValue
Consente di specificare il valore restituito dal file eseguibile per segnalare l'esito positivo.Specify the value returned by the executable to indicate success. Per impostazione predefinita, questo valore è impostato su 0.By default this value is set to 0.

TimeOutTimeOut
Consente di specificare il numero di secondi di esecuzione del processo.Specify the number of seconds that the process can run. Il valore 0 indica che non è previsto alcun timeout e il processo viene eseguito fino al completamento o finché non si verifica un errore.A value of 0 indicates that no time-out value is used, and the process runs until it is completed or until an error occurs.

TerminateProcessAfterTimeOutTerminateProcessAfterTimeOut
Consente di indicare se il processo deve essere terminato allo scadere del periodo di timeout specificato nell'opzione TimeOut .Indicate whether the process is forced to end after the time-out period specified by the TimeOut option. Questa opzione è disponibile solo se TimeOut non è impostata su 0.This option is available only if TimeOut is not 0.

WindowStyleWindowStyle
Consente di specificare lo stile della finestra in cui viene eseguito il processo.Specify the window style in which to run the process.

Vedere ancheSee Also

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