Поделиться через


Задача «Выполнение процесса»

Применяется к:sql Server SSIS Integration Runtime в Фабрика данных Azure

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

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

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

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

Запись журнала Description
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
Выберите переменную для записи выходных данных ошибок процессора или выберите <новую переменную,> чтобы создать новую переменную.

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

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

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

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

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