我正在使用SSIS 2005使用WinSCP
执行一些SFTP任务。我用Google搜索了错误,但无法使其正常工作。我收到了这个错误:
[执行进程任务]错误:在执行“C:\ Program Files \ WinSCP \ WinSCP.exe”中“-script = C:\ Documents and Settings \ nian_z \ Desktop \ temp \ SSISMovingSOA \ removeSOA8.txt”at“ C:\ Program Files \ WinSCP“,进程退出代码为”1“,而预期为”0“。
这是我使用的WinSCP脚本:
option batch abort
option confirm off
#open sftp://user:password@server:22
#cd /m/vo/Cont/fileftp
get OrderOutbound*
close
exit
对于上面的脚本,我甚至尝试一次只留下一个语句,但仍然有错误。
以下是执行流程任务的设置。
答案 0 :(得分:5)
这是不的答案,但是试图帮助您找到问题的解决方案。
尝试以下步骤以确定您的脚本是否实际在SSIS之外工作。
Windows Start
,然后点击 Run...
cmd
以打开命令提示符。cd“C:\ Program Files(x86)\ WinSCP”
removeSOA8.txt
位于带有空格的路径C:\Documents and Settings\userid\Desktop\temp\SSISMovingSOA\
中,请键入以下命令,将脚本路径用双引号括起来运行脚本,并使用 /log
选项,用于捕获所有状态消息。WinSCP.exe“/ script = C:\ Documents and Settings \ userid \ Desktop \ temp \ SSISMovingSOA \ removeSOA8.txt”/log=C:\temp\WinSCP_log.txt
脚本执行后,您会发现将在路径 WinSCP_log.txt
中创建名为 C:\temp
的日志文件。通读文件以确定是否有任何错误消息。
我尝试使用WinSCP从FTP下载文件,其中包含以下脚本:
option batch abort
option confirm off
open ftp://myuserid:mypassword@ftp.myftpsite.com:21 -passive=on
cd /root/somefolder/
option transfer binary
get SomeFileOnFTP.txt c:\temp\
close
exit
以下是我在SSIS包中配置Execute Process Task
的设置。
该过程在BIDS中成功运行。
希望能给你一个想法。
答案 1 :(得分:1)
如果从SQL Server作业代理运行该脚本,那么大多数情况下您将收到此退出错误。
场景:在我的情况下,当我尝试从sFTP服务器下载文件时,我遇到了。
解决方案:
第1步 - 创建批处理文件 @echo off
CD" C:\ Program Files(x86)\ WinSCP"
winscp.com / ini = nul /script=C:\path\download_script_pm.txt
退出
注意:使用SQL Server Job代理进行调用时,请确保将“ini”配置为NULL,否则会抛出此错误
Step2 - 创建一个txt文件(winscp脚本)
选项回显
选项批次
选项确认关闭
open sftp:// user:password@sftp.xxxx.com/ -hostkey =" ssh-edXXXX-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx -xx-XX-XX-XX-XX"
选项确认关闭
get -filemask =" > = 1D" /sftp_Path/File_Name_.csv C:\ local_path_for_downloaded_file \"
出口
注意:确保使用hostkey。要获取主机密钥,您需要执行以下操作: 1.打开winscp app工具并登录服务器
点击会话 - >生成会话/ URL代码选项
检查SSH主机密钥并复制指纹值并在winscp hostkey值中使用
答案 2 :(得分:-1)
之前我遇到了同样的错误,但现在对我来说工作正常。
SSIS 执行流程任务:
可执行文件 - C:\SSIS\SSIS_2008_Projects\HRIS_RepomanFusion_Load\WinSCP\WinSCP.com
参数 - "/script=wscpBatchTest.txt" /log=C:\SSIS\SSIS_2008_Projects\FTP_Load\WinSCP\WinSCP_log.txt
工作目录 - C:\SSIS\SSIS_2008_Projects\HRIS_RepomanFusion_Load\WinSCP
这是我使用的 WinSCP 脚本:wscpBatchTest.txt
option batch
option confirm off
open sftp://username:password@ftp.test.com
option transfer binary
cd /home/SAFAA
get employeedetails.csv C:\SSIS\SSIS_2008_Projects\SAFAA\InputDirectory\
close
exit