使用SAS从SFTP复制.zip文件

使用SAS从SFTP复制.zip文件,ftp,sas,sftp,Ftp,Sas,Sftp,我试图使用SAS从SFTP服务器复制.zip文件夹,但现在我被卡住了。我的代码运行时没有导致错误,但它一直挂起 以下是我迄今为止所做的: filename rmt ftp 'test.csv.zip' host='ftp.foo.com' user='test@mail.com' pass='test' cd='/' recfm=s debug; FILENAME lcl 'c:/test.csv.zip' recfm=n; DATA _NULL_; N=1; INFILE

我试图使用SAS从SFTP服务器复制.zip文件夹,但现在我被卡住了。我的代码运行时没有导致错误,但它一直挂起

以下是我迄今为止所做的:

filename rmt ftp 'test.csv.zip' host='ftp.foo.com' 
user='test@mail.com' pass='test'
cd='/' recfm=s debug;

FILENAME lcl 'c:/test.csv.zip' recfm=n;

DATA _NULL_;
    N=1;
    INFILE rmt NBYTE=n;
    INPUT;
    FILE lcl ;
    PUT _INFILE_ @@; 
RUn;
有什么想法吗?我想很明显,我以前从未使用SAS做过这件事。我看过并尝试过一些教程,比如我怀疑解决方案可能与sftp和ftp有关。我可以确认我应该在22号端口

更新 我正在windows计算机上运行。我还使用核心FTP连接到SFTP服务器,因此我可以确认它是否正常工作

filename rmt ftp 'test.csv.zip' host='ftp.foo.com' 
             ^^^
您在这里调用的是FTP,而不是SFTP。以下是和的SAS参考。您将注意到以下几行:

FTP:
语法
FILENAME fileref FTP“外部文件”

SFTP
语法
文件名fileref SFTP“外部文件”


我怀疑您遇到的实际问题是您的FTP连接尝试挂起,因为防火墙阻止了对远程服务器的FTP访问,因为您应该使用SFTP而不是FTP。

您说您使用的是SFTP,但您链接到了一个FTP示例,代码的第一行表明它正在尝试进行FTP。也许你混淆了FTP和SFTP。它们是完全不同的协议,不能互操作。@Kenster我就是这么想的。我试着用“SFTP”替换代码中的“FTP”,但这似乎不存在。SFTP没有“PASS”选项。您打算使用令牌访问<代码>注意:SFTP访问方法不支持密码验证。注意:建议使用SSH代理进行公钥身份验证,以连接到远程SSHD服务器。