如何使用TSQL或SQL Server代理从SFTP获取文件?

时间:2016-02-09 20:35:17

标签: sql sql-server sql-server-2008 tsql sftp

我需要从SFTP获取文件并将它们存储在服务器上。有什么办法可以使用TSQL或SQL Server代理吗?我不想使用第三方工具或SSIS或PowerShell脚本或WinSCP。

1 个答案:

答案 0 :(得分:3)

首先安装WinSCP。在我的环境中,它位于我们经常发送的SQL Server上。

然后,您需要创建一个脚本命令的文本文件。这个文件的内部看起来像

option batch abort
option confirm off
open sftp://Username:Password@someftp.someftp.com -hostkey="ssh-rsa 2048 29:fd:bb:27:3z:f0:28:b0:58:8g:07:59:b8:21:19:c4"
put D:\exports\*.csv
exit

有关WinSCP脚本的详细信息,您可以 HERE

接下来创建一个作业,然后在步骤中键入Operating system (CmdExec)。在命令部分中调用Winscp.exe的位置,并将您在上一步中创建的脚本文件的路径作为参数传递。

C:\Program Files (x86)\WinSCP\WinSCP.exe /script=d:\exports\sftp.txt