WinSCP批处理文件通过命令提示符成功执行,但不在SQL作业中执行步骤

时间:2017-01-19 13:40:57

标签: sql-server batch-file cmd winscp

我有一个通过命令提示符(CMD)执行的批处理文件,但是如果在SQL作业步骤中调用则不会执行。批处理作业正在打开WINSCP会话并将文本文件从本地目录传输到客户端目录。 SQL作业不会失败,它会完全执行,但不会复制文本文件。批处理文件调用winscp.com,如下所示

cd C:\ Program Files(x86)\ WinSCP \ winscp.com /script=C:\Test\FTPUpload.txt

和FTPUpload.txt包含以下内容:

option batch continue
option confirm off
open ftp://user:password@something@somthing.com -explicit 
lcd C:/TestUpload/ 
cd /TestClient 
put -delete -nopermissions -resumesupport=off *.txt 
close 
exit . 

我已经为WINSCP以及批处理文件提供了SQL代理帐户的完全权限。 SQL Agent也在本地管理员下。 SQL Server版本是SQL Server 2008 R2。在SQL作业级别,我使用了Type:Operating System(CmdExec)。

我的脑子已经吵了很长时间,任何帮助都会受到赞赏:)

1 个答案:

答案 0 :(得分:-1)

对批处理文件和winscp命令进行了更改

批量文件更改 winscp.com / console /script="C:\CMS\FTPUpload.txt“

在文本文件中我添加了hostkey参数

选项批次继续
选项确认关闭 打开ftp://user:password@something@somthing.com -explicit -hostkey = *
lcd C:/ TestUpload /
cd / TestClient
put -delete -nopermissions -resumesupport = off * .txt
关闭
出口 。