Задача «Исполнительный процесс»

Область применения:SQL Server SSIS среда выполнения интеграции в Azure Data Factory

Задача "Выполнение процесса" запускает приложение или пакетный файл в составе рабочего процесса пакета SQL Server Integration Services. Хотя задачу «Выполнение процесса» можно использовать для открытия любого стандартного приложения, например Microsoft Excel или Microsoft Word, обычно используется для запуска бизнес-приложений или пакетных файлов, работающих с источником данных. Например, задачу «Выполнение процесса» можно использовать для развертывания сжатого текстового файла. Потом пакет сможет использовать текстовый файл в качестве источника данных для потока данных в пакете. В качестве другого примера можно использовать задачу «Выполнение процесса» для запуска настраиваемого приложения Visual Basic, создающего ежедневный отчет о продажах. Затем можно присоединить отчет к задаче «Отправка почты» и разослать отчет по списку распространения.

Integration Services содержат другие задачи, которые выполняют операции рабочего процесса, такие как выполнение пакетов. Дополнительные сведения см. в статье Execute Package Task.

Пользовательские записи журнала, доступные в задаче «Выполнение процесса»

В следующей таблице перечислены пользовательские записи в журнале для задачи Execute Process. Дополнительные сведения см. в статье Ведение журналов в службах Integration Services (SSIS).

Запись журнала Описание
ExecuteProcessExecutingProcess Предоставляет сведения о процессе, для запуска которого настроена задача.

В журнале формируются две записи. Одна запись предоставляет сведения об имени и расположении исполняемого файла, который запускает задача, а другая запись фиксирует завершение работы исполняемого файла.
ExecuteProcessVariableRouting Предоставляет сведения о том, какие переменные направляются на вход и выходы исполняемого объекта. Данные журнала записываются для потоков stdin (вход), stdout (выход) и stderr (вывод ошибок).

Настройка задачи «Выполнение процесса»

Свойства могут быть заданы с помощью конструктора SSIS или программным путем.

Дополнительные сведения о настройке этих свойств в конструкторе служб SSIS см. в разделе "Добавление или удаление задачи" или контейнера в потоке управления.

Параметры свойств

Если задача «Выполнение процесса» запускает пользовательское приложение, она предоставляет входные данные для приложения с помощью одного или обоих следующих методов.

  • Переменная, которую вы указываете в настройке свойства StandardInputVariable. Дополнительные сведения о переменных см. в разделе Переменные служб Integration Services (SSIS) и переменные служб Integration Services (SSIS).

  • Аргумент, который вы указываете в настройке свойства Arguments. Например, если задача открывает документ в приложении Word, то аргументом может быть имя DOC-файла.

При передаче нескольких аргументов в пользовательское приложение в одной задаче «Выполнение процесса» используйте пробелы для разделения аргументов. Аргумент не может содержать пробел; в противном случае задача не выполняется. Можно использовать выражение для передачи значения переменной в качестве значения аргумента. В следующем примере выражение передает два значения переменных в качестве аргументов и использует пробел для разделения аргументов:

@variable1 + " " + @variable2

Можно использовать выражение, чтобы задать различные свойства задачи «Выполнение процесса».

При использовании свойства StandardInputVariable для настройки задачи «Выполнение процесса» на предоставление входных данных, вызовите метод Console.ReadLine из приложения, чтобы считать входные данные. Дополнительные сведения см. в методе Console.ReadLine.

При использовании свойства Аргументы для настройки задачи «Выполнение процесса» на предоставление входных данных выполните одно из следующих действий, чтобы получить аргументы.

  • Если для написания приложения используется Microsoft Visual Basic, задайте свойство My.Application.CommandLineArgs . В следующем примере устанавливается свойство My.Application.CommandLineArgs , чтобы получить два аргумента.

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

    Дополнительные сведения см. в разделе ConsoleApplicationBase.CommandLineArgs Property.

  • Если для подготовки приложения применяется Microsoft Visual C#, используйте метод Main.

    Дополнительные сведения см. в разделе "Аргументы командной строки" (руководство по программированию на C#).

Задача «Выполнение процесса» также содержит свойства StandardOutputVariable и StandardErrorVariable для указания переменных, которые потребляют стандартный вывод и вывод ошибок приложения соответственно.

Кроме того, задача «Выполнение процесса» может быть настроена для указания рабочего каталога, времени ожидания или значения, указывающего, что исполняемый объект был запущен успешно. Задача также может быть настроена на сбой, если возвращаемый код исполняемого файла не соответствует значению, указывающее на успешность, или если исполняемый файл не найден в указанном расположении.

Программная настройка задачи «Выполнение процесса»

Дополнительные сведения о настройке этих свойств программным путем см. в разделе ExecuteProcess.

Редактор задач "Выполнение процесса" (страница "Общие")

Используйте страницу "Общие " диалогового окна редактора задач "Выполнение процесса", чтобы назвать и описать задачу "Выполнение процесса".

Параметры

Имя
Введите уникальное имя для задачи "Выполнение процесса". Это имя используется в качестве метки для значка задачи.

Примечание.

Имена задач в пределах пакета должны быть уникальными.

Description
Введите описание задачи "Выполнение процесса".

Редактор задачи "Выполнение процесса" (страница "Процесс")

Страница Процесс диалогового окна Редактор задачи «Выполнение процесса» позволяет настраивать параметры выполнения процесса. Эти параметры включают исполняемый объект, его расположение, аргументы командной строки и переменные для входных и выходных данных.

Параметры

Требуется полное имя файла
Укажите, должна ли задача завершиться ошибкой, если исполняемый файл не найден в указанном расположении.

Исполнимый файл
Введите имя исполняемого модуля.

Аргументы
Введите аргументы командной строки.

WorkingDirectory
Введите путь к папке, содержащей исполняемый файл, или нажмите кнопку обзора (...) и найдите папку.

StandardInputVariable
Выберите переменную, чтобы предоставить входные данные процессу, или нажмите кнопку <"Создать переменную",> чтобы создать новую переменную:

Связанные разделы:переменные служб Integration Services (SSIS)

StandardOutputVariable
Выберите переменную, чтобы записать выходные данные процесса или выбрать <новую переменную...> для создания новой переменной.

StandardErrorVariable
Выберите переменную для записи выходных данных ошибок процессора или выберите <новую переменную,> чтобы создать новую переменную.

ЗавершитьЗадачуЕслиКодВозвратаНеУспешныйЗначение
Укажите, завершится ли задача с ошибкой, если код завершения отличается от значения, указанного в параметре SuccessValue.

SuccessValue
Укажите значение, возвращаемое исполняемым объектом при успешном завершении задачи. По умолчанию для этого значения задано 0значение .

Время ожидания
Указывает число секунд, в течение которых может выполняться данный процесс. Значение 0 указывает, что не используется значение времени ожидания, а процесс выполняется до завершения или до возникновения ошибки.

TerminateProcessAfterTimeOut
Указывает, должен ли процесс быть принудительно остановлен по истечении времени, обозначенного в параметре TimeOut . Этот параметр доступен только в том случае, если TimeOut не 0.

WindowStyle
Указывает стиль окна, в котором выполняется процесс.