2010-10-08 69 views
4

在我的SSIS 2005包中,我需要通過表達式提供FTP連接字符串,因爲我需要從dtsConfig文件爲用戶保持配置。在SSIS中使用表達式的FTP連接字符串

在我試圖給出以下表達式的時刻:

的connectionString = @ [用戶::的FTPServer] + 「」 + @ [User :: FTPUser] +「。」 + @ [用戶:: FTPPass]

對於這種獨特的語法,我把指針從討論在http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/3713e9a5-343a-4c5b-ac5d-1508cd5ab8be

我的FTPServer的變量也已在格式MYSERVERNAME端口信息:21。

但我得到的錯誤「530用戶匿名未知」

任何想法,我該如何解決這個問題?

回答

4

我認爲你的變量應該有兩個::不是一個。

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

編輯:

你可能會遇到一些麻煩,由於password being cleared

我會做的是通過腳本任務預先設置這些細節。運行腳本,然後運行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 
+0

對不起,那是我的問題一個錯字..固定我的問題 – 2010-10-08 06:50:13

+0

@Saurabh - 我已經更新了我的答案 – codingbadger 2010-10-08 07:19:17

相關問題