1

我正在使用 SSIS 2005 使用WinSCP. 我用谷歌搜索了这个错误,但无法让它工作。我收到了这个错误:

[执行进程任务] 错误:在执行“C:\Program Files\WinSCP\WinSCP.exe”时,在“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

对于上面的脚本,我什至尝试一次只留下一个语句,但仍然出错。

这是执行过程任务的设置。

执行流程任务

4

3 回答 3

5

不是答案,而是试图帮助您找到问题的解决方案。

试试这个:

尝试以下步骤来确定您的脚本是否真的在 SSIS 之外工作。

  • 单击Windows Start并单击Run...
  • 键入cmd以打开命令提示符
  • 在命令提示符窗口中,在提示符处键入以下命令,切换到 WinSCP 安装目录。我在以下目录中安装了 WinSCP。根据您的环境设置更改路径。

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

  • 如果您的 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。通读文件以确定是否有任何错误消息。

尝试在 SSIS 中运行 FTP:

我尝试使用 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

这是我Execute Process Task在 SSIS 包中配置的设置。

执行流程任务

该过程在 BIDS 中成功运行。

执行

希望能给你一个想法。

于 2013-02-06T14:17:48.807 回答
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 作业代理调用时,请确保将“ini”配置设为 NULL,否则将引发此错误

Step2 – 创建一个txt文件(winscp脚本)

选项回显

选项批处理

选项确认关闭

打开 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”

选项确认关闭

获取 -filemask=" >=1D" /sftp_Path/File_Name_ .csv C:\local_path_for_downloaded_file\"

出口

注意:确保使用主机密钥。要获取主机密钥,您需要执行以下操作: 1. 打开 winscp app 工具并登录服务器

  1. 单击会话 -> 生成会话/URL 代码选项

  2. 检查 SSH 主机密钥并复制指纹值并在 winscp 主机密钥值中使用

于 2018-01-25T22:45:26.393 回答
-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
于 2021-06-23T05:27:59.810 回答