我有一个通过命令提示符(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)。
我的脑子已经吵了很长时间,任何帮助都会受到赞赏:)
答案 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
关闭
出口 。