我在 SSIS 中创建了一个执行进程任务,以将文件上传到 sftp 服务器。我拥有对服务器文件夹的完全访问权限,并且能够使用 filezilla 拖放文件。我正在使用 putty sftp 客户端 psftp.exe 进行上传。现在,当我将 psftp.exe 与用户、传递和批处理参数一起使用时,它在 windows cmd 中运行良好。但是当我在 SSIS 中执行相同的操作时,我收到以下错误:
Error: 0xC0029151 at Execute Process Task, Execute Process Task: In Executing "C:\temp\psftp.exe" "user -pw pass -be -batch -b Upload.bat" at "C:\temp", The process exit code was "1" while the expected was "0".
Task failed: Execute Process Task
我的 windows cmd 参数是:
psftp.exe devsftp@secftp2.alliedpilots.org -b UploadUsersToSftp.bat
然后它要求输入密码,输入密码后,文件上传成功。但我无法通过 SSIS 执行相同的操作。下面是 SSIS 进程任务参数截图:
我在网上搜索并在这里找到了一些类似的问题,但没有特定于 psftp。在 stackoverflow 上也发现了同样的问题,但提到的解决方案是权限,我已经检查过了。
任何帮助,将不胜感激。