我也将此问题发布到其他论坛,但仍无法找到任何解决方案。 我创建SSIS包将文件发送到SFTP服务器。当我在SSIS中执行包时,它工作正常。 但是当我尝试通过SQL代理运行时,它会继续运行而不会发送文件,直到我强行停止工作。 我也添加代理帐户,但没有解决方案。 我运行该程序包的脚本是
option batch on
option confirm off
open sftp://UserName:Password@SFTP server Name :22001 -timeout=240
cd ToAA
option transfer binary
put C:\test29022016.csv
mget *.csv
Exit WinSCP
close
exit
请帮助解决此问题
答案 0 :(得分:1)
手动运行程序包与将其作为作业运行的SQL代理程序之间的唯一区别是运行程序包的帐户。在第一种情况下,它是您的帐户,在第二种情况下,它是SQL代理的帐户。
因此,如果它在第一种情况下工作,而不是在另一种情况下工作,则问题在于SQL代理缺少您的某些权限。
让您的网络/安全管理员为SQL代理所有提供相同的权限,并且它将起作用。
要确切了解缺少哪些权限,请尝试以SQL代理帐户登录计算机,然后在Visual Studio中运行该程序包,并查看出现的错误消息。
答案 1 :(得分:-1)
我找到了一个解决方法,我在批处理文件的帮助下使用Windows任务调度程序来运行SSIS。