Как исправить предупреждение SSIS «Файл / Процесс не в пути»? - PullRequest
2 голосов
/ 11 июля 2011

Служба SSIS поставляется со многими задачами, которые решают проблемы сбора данных и интеграции, но одной из задач, в которых она не хватает, является «Задача HTTP» для загрузки файлов по HTTP.

Чтобы обойти это, я установил Wget и запустил его из служб SSIS, используя задачу «Выполнение пакета».

Wget находится в моем системном пути, поэтому я могу набрать 'wget' из командной строки, работая в любом каталоге для запуска программы. Но SSIS жалуется, что «файл / процесс« wget »не находится на пути»:

SSIS warns that 'File/Process

Я установил для свойства процесса RerquireFullFileName значение False, чтобы эта жалоба не вызывала ошибку:

RequireFullFileName is False so that the package executes successfully.

Помимо выдачи предупреждения при запуске, пакет работает как положено. Он вызывает wget и загружает файл, которому я говорю. Но как мне перестать жаловаться на SSIS, что wget не на пути?

РЕДАКТИРОВАТЬ: установка свойства DelayValidation задачи «Выполнение процесса» в True, как предлагает Siva, не решает проблему; это только мешает SSIS жаловаться во время разработки. При отложенной проверке во время выполнения я вижу это в окне вывода отладки:

SSIS package "Extract.dtsx" starting.
Warning: 0xC0029154 at Download Locations Dump, Execute Process Task: File/Process "wget" is not in path.
SSIS package "Extract.dtsx" finished: Success.

Ответы [ 2 ]

4 голосов
/ 12 июля 2011

Предупреждение возникает из-за того, что упаковка пытается проверить местоположение исполняемого файла во время разработки.Вы можете отложить эту проверку до времени выполнения, изменив свойство DelayValidation для Execute Process task с False на True .

Пошаговый процесс:

  1. В пакете служб SSIS я поместил Execute Process Task, настроенный для использования инструмента Wget .См. Скриншоты # 1 .

  2. Снимок экрана # 2 с предупреждением, похожим на скриншот, показанный в вопросе.

  3. Щелкните правой кнопкой мыши на задаче «Выполнение процесса» и выберите «Свойства», как показано на скриншоте # 3 .

  4. В окне свойств изменили DelayValidationзначение свойства от False до True.

  5. Снимок экрана # 5 показывает, что предупреждение больше не появляется.

РЕДАКТИРОВАТЬ:

Чтобы вообще отключить предупреждение, даже во время выполнения, вы можете сделать следующее:

  1. Создать переменную для храненияполный путь к wget.exe .Заполните переменную полным путем к wget.exe.Значение может отличаться в вашем сценарии.См. Снимок экрана # 6 .

  2. Дважды щелкните задачу «Выполнить процесс».В разделе «Выражения» задачи нажмите кнопку с многоточием.См. Снимок экрана # 7 .

  3. В редакторе выражений свойств установите значение свойства Executable для вновь созданногопеременная @[USer::WgetPath].См. Скриншот # 8 .

Надеюсь, что это поможет.

Скриншот №1:

1

Снимок экрана № 2:

2

Снимок экрана № 3:

3

Снимок экрана № 4:

4

Снимок экрана № 5:

5

Снимок экрана № 6:

6

Снимок экрана № 7:

7

Снимок экрана № 8:

8

0 голосов
/ 24 октября 2018

Перейдите в свойства для вашей задачи «Выполнение процесса» и установите для свойства RequireFullFileName значение false. Вы можете получить доступ к свойствам, щелкнув задачу и нажав клавишу F4 или щелкнув правой кнопкой мыши задачу и выбрав свойства в контекстном меню.

Это решение было протестировано, работая в VS 2017 с SSDT. У вас будет предупреждение с желтым флагом, но пакет выполнит команду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...