Search code examples
ssiswinscp

How to fix exit code issue while using WinSCP for SFTP from within SSIS package?


I am using SSIS 2005 to do some SFTPtasks using WinSCP. I googled about the error but couldn't make it work. I got this error:

[Execute Process Task] Error: In Executing "C:\Program Files\WinSCP\WinSCP.exe" "-script=C:\Documents and Settings\nian_z\Desktop\temp\SSISMovingSOA\removeSOA8.txt" at "C:\Program Files\WinSCP", The process exit code was "1" while the expected was "0".

Here is my WinSCP script that I use:

option batch abort
option confirm off
#open sftp://user:password@server:22
#cd /m/vo/Cont/fileftp
get OrderOutbound*
close
exit

For above script, I even tried leaving only one statement at a time, but still got error.

Here is the setup of the execute process task.

Execute Process Task


Solution

  • This is not an answer but an attempt to help you find a solution to your problem.

    Try this:

    Try the following steps to find out if your script is actually working outside of SSIS or not.

    • Click Windows Start and click Run...
    • Type cmd to open Command Prompt.
    • On the command prompt window, type the following command at the prompt to switch to the WinSCP installation directory. I have the WinSCP installed in the following directory. Change the path according to your environment settings.

    cd "C:\Program Files (x86)\WinSCP"

    • If your WinSCP script file removeSOA8.txt is located in the path C:\Documents and Settings\userid\Desktop\temp\SSISMovingSOA\ with spaces, then type the following command by enclosing the script path in double quotes to run the script and also use the /log option to capture all the status messages.

    WinSCP.exe "/script=C:\Documents and Settings\userid\Desktop\temp\SSISMovingSOA\removeSOA8.txt" /log=C:\temp\WinSCP_log.txt

    After the script executes, your will find that a log file named WinSCP_log.txt will be created in the path C:\temp. Read through the file to identify if there are any error messages.

    Attempt to run FTP in SSIS:

    I tried downloading a file from FTP using WinSCP with the following script:

    option batch abort
    option confirm off
    open ftp://myuserid:[email protected]:21 -passive=on
    cd /root/somefolder/
    option transfer binary
    get SomeFileOnFTP.txt c:\temp\
    close
    exit
    

    Here are the settings how I have configured the Execute Process Task within the SSIS package.

    Execute Process Task

    The process ran successfully in BIDS.

    Execution

    Hope that gives you an idea.