SSIS 通过 WINscp 从SFTP下载文件

Posted ethan-song

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSIS 通过 WINscp 从SFTP下载文件相关的知识,希望对你有一定的参考价值。

1.通过SSIS的process task调用 winscp :C:\\Program Files (x86)\\WinSCP\\WinSCP.exe

                  /script="C:\\SFTPFile\\TEST.txt"

技术图片

2.

编写winscp 代码:

 open sftp:// [ ueserid ] :[ password ] @10.ip :22
 get \\PBI_landing_Zone\\in\\ANP\\test.txt C:\\
 exit
注意: 1.winscp 口令遇到内部关键字需要用转义字符代替(密码中有+ 需要用  %2B代替

  • space: %20 or +
  • #: %23 (number sign/hash)
  • %: %25 (percent sign)
  • +: %2B (plus sign)
  • /: %2F (slash)
  • @: %40 (at sign)
  • :: %3A (colon)
  • ;: %3B (semicolon)

    2.路径需要定位到最底层否则无法识别 通配符 *

 

3.BAT 文件调用winscp代码:

cd C:\\Program Files (x86)\\WinSCP
winscp.exe /console /command "option batch on" "option confirm off" "open sftp:// [ ueserid ] :[ password ];fingerprint=ssh-dss********[email protected][ip]:22" "option transfer binary" "cd \\PBI_landing_Zone\\in\\ANP\\" "get test* C:\\ "

注意: BAT文件中转义字符是%,跟winscp冲突需要转义两次(比如 + 需要写成 : %%2B)

 

 

WINSCP 通配符 :https://winscp.net/eng/docs/library_wildcard

转义字符 : https://winscp.net/eng/docs/session_url

 

批处理文件特殊字符:http://www.bathome.net/thread-1224-1-1.html

 

 

 

  

 

以上是关于SSIS 通过 WINscp 从SFTP下载文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SSIS 中使用 OpenSSH 通过 SFTP 传输文件?

如何使用 WinSCP 脚本从 SFTP 复制新文件

转: window中使用PSFTP/WinSCP实现SFTP上传下载

通过 SSIS 处理 SFTP 或 FTPS 文件的最佳方法 [关闭]

为啥winscp登不上去?显示错误 ‘收到太大的SFTP包 无法初始化SFTP协议。主机是SFTP服务器吗?’

使用 WinSCP 仅下载新文件