Существуют ли синтаксические различия при использовании filename sftp между sas 9.3 и 9.4?

#sas #sftp #filenames

#sas #sftp #имена файлов

Вопрос:

Я надеюсь, что кто-нибудь сможет помочь — я прочитал документацию по использованию filename sftp в sas, и она предполагает, что это поддерживается версией 9.3. Я использую этот синтаксис:

Filename myfile sftp ‘path’ user=amp;user host=amp;host;

В 9.4 это абсолютно нормально. Однако я получаю ошибки «недопустимое имя параметра» для пользователя и хоста в 9.3.

Есть ли другой синтаксис, который я должен использовать, или здесь есть какая-то другая проблема?

Я уже установил соединение за пределами sas.

Большое спасибо!

Ответ №1:

Обычно вы не используете указать пользователя и пароль при аутентификации по SSH. Используйте OPTIONS= ключевое слово, чтобы указать параметры SSH для аутентификации.

Ответ №2:

Ссылка на синтаксис SAS 9.3 для «Инструкции FILENAME, метода доступа SFTP» показывает значения для параметров user= и host= в кавычках. Документация также содержит несколько примеров.

Значения макропеременных (вы их не показываете), скорее всего, уже не заключены в кавычки.

Попробуйте использовать двойные кавычки, чтобы макропеременные разрешались внутри:

 Filename myfile sftp 'my-external-file' user="amp;user" host="amp;host";
  

Кроме того, если ваш код содержит причудливые кавычки (те, что пышные и ), у вас также возникнут проблемы.

Комментарии:

1. Спасибо, Ричард. К сожалению, похоже, что он даже не проверяет значения моих макропеременных. Это подчеркивает ключевые слова user и host. Ошибка: неверное имя параметра user. Ошибка: ошибка в инструкции filename. Ошибка: неверное имя параметра host