Хобрук: Ваш путь к мастерству в программировании

Копирование файла .zip из SFTP с использованием SAS

Я пытаюсь скопировать папку .zip с SFTP-сервера с помощью SAS, но теперь я застрял. Мой код работает без ошибок, но продолжает зависать.

Вот что у меня есть до сих пор:

filename rmt ftp 'test.csv.zip' host='ftp.foo.com' 
user='[email protected]' 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. Я могу подтвердить, что я должен быть на PORT22.

ОБНОВЛЕНИЕ Я работаю на компьютере с Windows. Мне также удалось подключиться к SFTP-серверу с помощью Core FTP, поэтому я могу подтвердить, что он работает.

26.06.2015

  • Вы говорите, что используете SFTP, но ссылаетесь на пример FTP, и первая строка вашего кода предполагает, что он пытается использовать FTP. Возможно, вы путаете FTP и SFTP. Это совершенно разные протоколы, и они не взаимодействуют. 26.06.2015
  • @ Кенстер, я так и думал. Я попытался заменить FTP в коде на SFTP, но, похоже, его не существует. 26.06.2015
  • SFTP не имеет опции PASS. Вы должны использовать доступ к токену. Note: Password validation is not supported for the SFTP access method. Note: Public key authentication using an SSH agent is the recommended way to connect to a remote SSHD server. 26.06.2015

Ответы:


1
filename rmt ftp 'test.csv.zip' host='ftp.foo.com' 
             ^^^

Вы вызываете FTP здесь, а не SFTP. Вот ссылки на SAS для FTP. доступ и SFTP доступ. Вы заметите эти строки:

FTP:
Синтаксис
ИМЯ ФАЙЛА fileref FTP 'внешний-файл' ;

SFTP
Синтаксис
ИМЯ ФАЙЛА fileref SFTP 'внешний-файл' ;

Я подозреваю, что фактическая проблема, с которой вы столкнулись, заключается в том, что ваша попытка FTP-подключения зависает, потому что FTP-доступ к удаленному серверу заблокирован брандмауэром, потому что вы должны использовать SFTP, а не FTP.

26.06.2015
Новые материалы

Понимание структуры каталогов Linux
Структура каталогов Linux — это иерархическая организация файлов и каталогов в системе Linux. Понимание этой структуры важно для всех, кто хочет использовать Linux в качестве основной..

Введение в SQLite3 в Python
SQLite3 — это популярная и часто используемая программная библиотека для управления реляционными базами данных. Она портативна, быстра и проста в использовании, что делает ее отличным выбором..

Как создать ORM в Node.js
Что такое ОРМ? Проще говоря, система ORM — это метод, в котором вы используете объектно-ориентированную парадигму для создания сопоставления между приложением и базой данных для выполнения..

Руководство для начинающих по обработке естественного языка .
Обработка естественного языка — захватывающая и быстро развивающаяся область, которую можно охарактеризовать как сочетание лингвистики, информатики и искусственного интеллекта. Это помогает..

Защитите свое приложение NodeJS с помощью веб-токенов JSON (JWT): руководство по аутентификации на основе токенов
В современном мире веб-приложений безопасность важнее, чем когда-либо. Одним из наиболее важных аспектов защиты веб-приложений является аутентификация пользователей. Аутентификация на основе..

Вводное руководство по аннотациям @PreAuthorize и @PostAuthorize в Spring Security
Введение Spring Security — это мощная и настраиваемая среда аутентификации и контроля доступа для приложений Java, особенно тех, которые созданы с использованием среды Spring. Этот пост..

От стартапов к успеху в индустрии наук о данных: 5 важных инструментов
Постоянно растущие объемы данных сегодня играют решающую роль для каждой компании, которая хочет оставаться на вершине. Это означает использование технологий искусственного интеллекта ,..