【问题标题】:WinSCP batch transfer with SQL Server Agent Job使用 SQL Server 代理作业的 WinSCP 批量传输
【发布时间】:2019-08-22 20:24:25
【问题描述】:

我有一个 .bat 文件:

执行 WinSCP(调用脚本 txt)并通过 SFTP 传输文件。它还归档传输的文件。

我的问题是当我双击 .bat 文件时它工作得很好。但是当我在 SQL Server 代理作业中执行它时,它会归档文件但不会将文件传输到 SFTP。

我在这份工作的历史上完全没有错误。

我觉得它没有执行 WinSCP 或没有打开 txt 脚本。我检查了权限,它在所有文件和文件夹中都显示正常...

检查了所有用户对所有文件和相关文件夹的完全控制。 尝试检查我的语法。

"C:\Program Files\WinSCP\WinSCP.exe" /command "option confirm off" 
/console /script="C:\Program Files\WinSCP\LocalToRemote.txt"

【问题讨论】:

    标签: batch-file ssms winscp sql-server-agent


    【解决方案1】:

    您应该将/log=C:\path\to\winscp.log switch 添加到 WinSCP 命令行以查看发生了什么。

    在极少数情况下,错误非常严重,甚至没有生成日志文件,您应该捕获 WinSCP 控制台输出。 winscp.exe 无法做到这一点,你需要 winscp.com 来做这件事,无论如何你都应该使用它。

    "C:\Program Files\WinSCP\WinSCP.com" ^
        /log=C:\path\to\winscp.log ^
        /command "option confirm off" ^
        /script="C:\Program Files\WinSCP\LocalToRemote.txt" > C:\path\to\winscp.out
    

    在您向我们展示日志之前,我只能将您指向 WinSCP 常见问题解答:
    My script works fine when executed manually, but fails or hangs when run by Windows Scheduler, SSIS or other automation service. What am I doing wrong?

    最常见的问题是FAQ中列出的第一个问题:

    • 脚本失败(或“挂起”),因为服务帐户不知道host key(SFTP 或 SCP)或certificate(FTPS、WebDAVS),并且 WinSCP 验证失败(或要求) .

    最好的办法是为您提供 WinSCP GUI generate script/command-line/batch-file template,其中包含使脚本真正可移植所需的所有详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 2017-11-11
      • 1970-01-01
      相关资源
      最近更新 更多