使用WinSCP脚本从SSIS访问SFTP

时间:2014-06-09 17:13:23

标签: scripting ssis winscp

我是WinSCP的新手,我正在尝试创建一个脚本文件,该文件最终将与SSIS一起用于从SFTP站点下载文件。许多文献WinSCP包括解释文件下载或上传部分。目前,我只想创建一个脚本来测试连接,然后从那里开始构建。

到目前为止,我在WinSCP中保存了连接并具有以下内容。下面的代码似乎根本不起作用,我不知道还有什么要去,因为我还在阅读有关WinSCP脚本的内容。有没有办法或有人能指出我是否实际上通过脚本连接?

option batch on 
option confirm off 
open username@address 
exit

2 个答案:

答案 0 :(得分:0)

不确定SSIS是什么(对不起)但我可以告诉你如何从Windows批处理文件中设置它如果有帮助:

如果您愿意使用其他软件,请考虑使用cygwin。它模仿linux shell,因此windows上的linux用户有很多linux实用程序。话虽这么说,有一些命令可以直接从命令提示符(因此可以打开)在Windows上运行。你需要做什么:

1)安装cygwin 2)创建一个"无密码"登录(使用ssh-rsa身份验证)。要做到这一点,启动你的cygwin终端并使用命令" ssh-keygen"和" ssh-copy-id" (稍后会详细介绍) 3)现在你可以运行" sftp"从DOS命令提示符(不需要cygwin终端)和sftp到您的帐户。由于步骤2),无需密码。

一些跟进信息:

可以从dos命令提示符运行什么以及必须从cygwin终端运行什么?

如果你去" bin" cygwin的目录(对我来说,它在c:\ cygwin \ bin中)你可以看到所有的cygwin实用程序。任何与" exe"扩展可以从dos命令提示符运行。如果没有" exe"扩展,必须首先启动cygwin终端

如何设置ssh-rsa身份验证?

你几乎可以google" ssh登录没有密码"并取得了很多成果。这在设置从一个Linux系统到另一个系统的登录时很常见。您将在Windows上使用相同的步骤使用cygwin。我的指示在这里:

http://geekswing.com/geek/unix/how-to-ssh-login-without-a-password-using-ssh-keygen-quick-tutorial/

答案 1 :(得分:0)

在WinSCP GUI中存储会话设置并尝试从SSIS中运行的WinSCP脚本访问它们通常是一个坏主意。我相信WinSCP网站上没有任何示例或指南建议这样做。

WinSCP将其配置存储在HKEY_CURRENT_USER配置单元的注册表中。 SSIS通常在专用系统帐户下运行,该帐户具有自己的HKEY_CURRENT_USER配置单元,并且不会看到GUI配置。

有关详细信息,请参阅WinSCP有关您的问题的常见问题解答:
https://winscp.net/eng/docs/faq_scheduler

您可以做的最好的事情是使用session URLopen命令,而不是存储的站点名称,将脚本与配置隔离开来。
另请参阅https://winscp.net/eng/docs/scripting#configuration


但实际问题可能完全不同。但由于您没有共享任何细节,例如错误消息,日志文件等,因此难以猜测。