Я прошел через следующее руководство по настройке пакета служб SSIS для извлечения текстового файла, расположенного на SFTP-сервере:
https://www.mssqltips.com/sqlservertip/3435/using-sftp-with-sql-server-integration-services/
В итоге пакет SSIS выполняет PSFTP.exe (инструмент PuTTY), который принимает необходимые учетные данные для подключения к серверу.Он также принимает пакетный файл, который он выполняет после подключения.Этот пакетный файл содержит команды для получения желаемого текстового файла.Чтобы начать с руководства, оно просто содержит команду cmd для изменения каталога и команду get для извлечения файла:
cmd DataDump
get TeleMarketingResults.txt
Все это прекрасно работает.
Проблема возникает, когдаЯ пытаюсь сделать эту логику пакетного файла более сложной, поскольку она не распознает основные ключевые слова.Например, я хотел бы изменить его, чтобы получить самый последний файл, поэтому я попытался добавить это:
for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i
echo The most recently created file is %LAST%
, но затем я получаю следующие ошибки:
psftp: unknown command "for"
psftp: unknown command "echo"
Если я выполнюпакетный файл вручную в локальном каталоге, он работает.Эта проблема возникает только при передаче его в качестве параметра PSFTP.exe.Почему это?