Строка FTP-соединения с использованием выражения в SSIS - PullRequest
4 голосов
/ 08 октября 2010

В моем пакете служб SSIS 2005 мне нужно передать строку подключения FTP через выражение, так как мне нужно, чтобы она была настраиваемой для пользователя из файла dtsConfig.

В данный момент я попытался дать следующее выражение:

Connectionstring = @ [User :: FTPServer] + "."+ @ [User :: FTPUser] + "."+ @ [User :: FTPPass]

Для этого уникального синтаксиса я взял указатели из обсуждения в http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/3713e9a5-343a-4c5b-ac5d-1508cd5ab8be

Моя переменная FTPServer также имеет информацию о порте в формате MYSERVERNAME: 21.

Но я получаю ошибку "530 Аноним неизвестен пользователю"

Есть идеи, как я могу исправить эту ошибку?

1 Ответ

4 голосов
/ 08 октября 2010

Я думаю, что ваши переменные должны иметь две ::, а не одну.

@[User::FTPServer] + "." + @[User::FTPUser] + "." + @[User::FTPPass]

EDIT:

Возможно, у вас возникли проблемы из-за сброса пароля

То, что я хотел бы сделать, это установить эти детали заранее с помощью Задачи сценария. Запустите скрипт, а затем запустите задачу FTP - я думаю, что это должно работать.

Public Class ScriptMain

Public Sub Main()

Dim FTPConnectionManager As ConnectionManager

'Set variable to an existing connection manager
' Replace "FTP Server" with the name of your existing FTP Connection Manager
FTPConnectionManager = Dts.Connections("FTP Server")


FTPConnectionManager.Properties("ServerName").SetValue(FTPConnectionManager, Dts.Variables("FTPServer").Value)

FTPConnectionManager.Properties("ServerPort").SetValue(FTPConnectionManager, Dts.Variables("FTPPort").Value)

FTPConnectionManager.Properties("ServerUserName").SetValue(FTPConnectionManager, Dts.Variables("FTPUserName").Value)

FTPConnectionManager.Properties("ServerPassword").SetValue(FTPConnectionManager, Dts.Variables("FTPPassword").Value)


Dts.TaskResult = Dts.Results.Success

End Sub

End Class
...