1

我正在尝试从 SQL Server 代理作业运行以下命令,以将每日文件上传到我们的 FTP 服务器。我尝试从 WinSCP 5.1.5 等本地实用程序进行连接,并成功连接到 FTP,没有任何问题,但是从脚本尝试连接失败(以下是代码和错误)。有人可以在正确的方向上帮助我吗?

$Error.Clear();
$csv_file = "FilePath"
$sftp_cmd = "C:\psftp.exe"

$user = "TestUser"
$pass = "pwd"
$hst = "ftp3.xyz.com"
$cmd = @(
  "put $csv_file",
  "bye"
)

$cmd | & $sftp_cmd -pw $pass "$user@$hst" -batch

我总是收到错误消息

致命:服务器意外关闭网络连接。

4

1 回答 1

1

该命令对我来说工作正常。但是,您的问题表明您正在尝试连接到 FTP 服务器。WinSCP 可以处理 SCP/SFTP 和 FTP 连接,但据我所知,psftp仅支持SFTP(基于 SSH 的文件传输协议,不要与FTPS混淆)。

如果您的服务器不是 SSH 服务器,您需要一个用于数据传输的 FTP 客户端(例如ftp.exe随 Windows 提供)。如果您的服务器是 SSH 服务器,请尝试psftp使用该选项运行-v以获取更多信息,并检查服务器上的日志。

于 2013-07-11T09:37:54.377 回答