У меня есть пакетный скрипт, который создает сценарий загрузки WinSCP для загрузки файла в место SFTP. Теперь, когда я запускаю командный файл с помощью командной строки, он запускается успешно и загружает его. Я назвал ту же самую задачу SSIS Execute process - она успешно работает и загружает ее. Теперь, когда я ставлю то же самое на агента SQL - я попытался следующие два варианта:Агент SQL Server для планирования SFTP с использованием WinSCP под SSIS
- Использование операционной системы (CmdExec) - cmd.exe/с «\ .bat»
- Добавлен пакет SSIS для SSISDB и добавили его в качестве рабочего шага.
С обоими вышеуказанными вариантами работа показала успешный прогон. Однако файл не загружается! Любые идеи о том, что происходит?
Вот моя партия сценарий:
echo off
SET winscp=C:\"Program Files (x86)"\WinSCP\WinSCP.com
SET stagingDirectory=\\<staging path>\
SET scriptPath=\\<ScriptPath>\UploadScript.txt
SET ftpHost=xx.xx.xx.xx
SET ftpUser=user
SET ftpPass=password
SET fileName=Test.xlsx
SET ftpFlags=
@REM ftpFlags: -explicit
echo deleting uploadScript if it already exists
IF EXIST %scriptPath% del /F %scriptPath%
IF EXIST %scriptPath% exit 1
echo Generating WINSCP Upload Script
>>%scriptPath% echo option batch abort
>>%scriptPath% echo option confirm off
>>%scriptPath% echo open sftp://%ftpUser%:%ftpPass%@%ftpHost% %ftpFlags%
>>%scriptPath% echo option transfer binary
>>%scriptPath% echo put %stagingDirectory%%fileName%/
>>%scriptPath% echo close
>>%scriptPath% echo exit
echo Launching WINSCP upload
start /wait %winscp% /console /script=%scriptPath%
Вы используете учетную запись прокси для выполнения задания? –
Сообщение журнала в задании показывает, что он управляется некоторой учетной записью прокси. Но должно ли это иметь значение? Учетные записи SFTP жестко закодированы в пакетном скрипте, и в настоящее время он связан с моим идентификатором. Это мое понимание. –