Вы действительно не объяснили нам, что (если что-то) идет не так.
В общем, проблемы, подобные этой, описаны в WinSCP FAQ Мой скрипт работает нормально при выполнениивручную, но не работает или зависает при запуске Windows Scheduler, SSIS или другой службой автоматизации.Что я делаю не так?
См. Также статью WinSCP Задача SFTP для SSIS / SSDT .
Хотя, если быть более конкретным, есть три ясных вопроса, см. ниже.
Вы создали сохраненный сайт WinSCP в интерактивном сеансе Windows.По умолчанию WinSCP сохраняет информацию о сайте в куст HKCU реестра Windows.Ваш сеанс служб SSIS не имеет доступа к этому кусту.
В идеале вы должны создать автономный сценарий, который не зависит от сохраненной конфигурации.Это, в частности, означает, что ваша open
команда должна содержать учетные данные и отпечаток хоста, например:
open sftp://username:password@TS_NEW.com -hostkey=...
WinSCP GUI может сгенерировать такой скрипт для вас.
Другая проблема заключается в том, что ваша команда cd
должна быть действительно lcd
, а путь должен быть заключен в кавычки, поскольку он содержит пробелы.
lcd "C:\Users\zaccheut\Documents\Analytics Project 2018\ThoughtSpot\SSIS File"
Аналогично, путь к сценарию в аргументах WinSCP должен быть заключен в кавычки, так как он содержит пробелы:
/script="C:\Users\zaccheut\Documents\Visual Studio 2012\Projects\Skynet Refreshes\Skynet Refreshes\local2remote.txt"
Также следует добавить /log
switch для аргументов WinSCP, чтобы включить ведение журнала сеанса.Это очень поможет вам с отладкой.Сгенерированный скрипт (выше) тоже это показывает.