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 に答える