Ошибка задачи сценария SSIS, получающая значения переменных

В a Script Task, Я пытаюсь получить файл от сетевого местоположения и FTP тот файл к удаленному местоположению

  • В SSIS я создал FTP Connection и протестированный, что это - установка и работы
  • Созданный три переменные

    • переменный 1. FullPathName = \ftpservercsc \\\Filename.txt
    • переменные 2 FTPFilePath = \ftpservercsc \\\
    • переменные 3 FTPFileName = Filename.txt
  • Созданный a Script Task и добавил код vb как таковой...

    'Get instance of the connection manager.
    Dim cm As ConnectionManager = Dts.Connections("FTP Connection Manager")
    Dim remotePath As String = Dts.Variables("FTPFilePath").Value.ToString
    
    'create the FTP object that sends the files and pass it the connection
    'created above.
    Dim ftp As FtpClientConnection = New FtpClientConnection
                                            (cm.AcquireConnection(Nothing))
    
    'Connect to the ftp server
    ftp.Connect()
    
    'Set the path on the FTP server where dropping files
    'ftp.SetWorkingDirectory("/Prequalify") 'set the remote directory
    
    Dim files(0) As String
    files(0) = Dts.Variables("FTPFileName").Value.ToString 'eg. File1.trg
    
    'Send File
    ftp.SendFiles(files, remotePath, True, True)
    
    ' Close the ftp connection
    ftp.Close()
    
    
    'Dts.Events.FireInformation(0, context, "File " + fileToGet 
    '     + " retrieved successfully.", Nothing, Nothing, True)
    Dts.TaskResult = Dts.Results.Success
    
  • Ошибка: элемент не может быть найден в наборе. Эта ошибка происходит, когда Вы пытаетесь получить элемент от набора на контейнере во время выполнения пакета, и элемент не там.

Таким образом, я прокомментировал и нашел, что ошибка генерирует при получении значения переменной, но я не знаю то, что является неправильным здесь

    Dim remotePath As String = Dts.Variables("FTPFilePath").Value.ToString

Я попробовал несколько переменных извлечений, и все получают ту же ошибку. Кто-либо видит что-то не так?

6
задан SteveC 7 June 2012 в 19:43
поделиться

1 ответ

Две вещи:

  1. Убедитесь, что вы настройте задачу скрипта, чтобы прочитать доступ к переменной. Чтобы сделать это правой кнопкой мыши на задаче сценариев и выберите «Редактировать». Нажмите на ... под readonlyvariables.
  2. Полностью квалифицировать ваши переменные, такие как DTS.Variables [«Пользователь :: Remotepath»]. Значение
16
ответ дан 8 December 2019 в 14:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: