开发者

How to fix SSIS "File/Process not in path" warning?

SSIS comes with many tasks that solve data acquisition and intrgration problems, but one task that it lacks is 'HTTP Task' for downloading files over HTTP.

To work around this, I installed Wget, and run it from SSIS using the Execute Package task.

Wget is on my system path so that I can type 'wget' from the command prompt while working in any directory to run the program. But SSIS complains that "File/process 'wget' is not on the path":

How to fix SSIS "File/Process not in path" warning?

I have set the process property RerquireFullFileName to False to stop this complaint from causing a开发者_开发问答n error:

How to fix SSIS "File/Process not in path" warning?

Apart from issuing a warning at the start, the package runs as expected. It invokes wget and downloads the file I tell it to. But how do I stop SSIS complaining that wget is not on the path?

EDIT: Setting the Execute Process task's DelayValidation property to True, as suggested by Siva, does not solve the problem; it just stops SSIS from complaining at design time. With delayed validation, at runtime, I see this in the debug output window:

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.


The warning occurs because the packing is trying to validate the location of the executable during the design time. You can defer this validation to run time by changing the property DelayValidation on the Execute Process task from False to True.

Step-by-step process:

  1. On the SSIS package, I have place an Execute Process Task configured to use the tool Wget. Refer screenshots #1.

  2. Screenshot #2 the warning message similar to the screenshot shown in the question.

  3. Right-clicked on the Execute Process Task and selected Properties as shown in screenshot #3.

  4. In the properties window, changed the DelayValidation property value from False to True.

  5. Screenshot #5 shows that the warning no longer appears.

EDIT:

To suppress the warning altogether, even at the run-time, you can do something as following:

  1. Create a variable to store the full path of the wget.exe. Populate the variable with the full path to the wget.exe. The value could be different in your scenario. Refer screenshot #6.

  2. Double-click on the Execute Process task. On the Expressions section of the task click on the ellipsis button. Refer screenshot #7.

  3. On the Property Expressions Editor, set the Executable Property value to the newly created variable @[USer::WgetPath]. Refer screenshot #8.

Hope that helps.

Screenshot #1:

How to fix SSIS "File/Process not in path" warning?

Screenshot #2:

How to fix SSIS "File/Process not in path" warning?

Screenshot #3:

How to fix SSIS "File/Process not in path" warning?

Screenshot #4:

How to fix SSIS "File/Process not in path" warning?

Screenshot #5:

How to fix SSIS "File/Process not in path" warning?

Screenshot #6:

How to fix SSIS "File/Process not in path" warning?

Screenshot #7:

How to fix SSIS "File/Process not in path" warning?

Screenshot #8:

How to fix SSIS "File/Process not in path" warning?


Go to the Properties for your Execute Process Task, and set the RequireFullFileName property to false. You can access the properties by clicking the task and pressing F4 or right clicking on the task and clicking properties from the context menu.

This solution has been tested working in VS 2017 with SSDT. You will have a yellow flag warning but the package will run the command.


As a side note, keep in mind Visual Studio loads the PATH environment variable at startup. This means that if you open your project, install something (adding a new value to PATH) and then try to use the just-installed executable, it will give you the "File/Process not in path" waring, even if it's indeed in path. Just close VS, reload your project and the warning will be gone.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜