動態文件名我試圖創建SSIS數據流來幫助我通過FTP上傳文件,我有一個有點麻煩。文件的名稱需要是動態的,格式爲filename_mmddyy.xls。因此,它每天都會應用日期並上傳新文件。SSIS - 用於FTP組件
我能夠讓這個文件會在數據流中正確保存以下表達式:
@[User::path]+
Right("0"+(DT_STR,4,1252)DatePart("m",getdate()),2)+
Right("0"+(DT_STR,4,1252)DatePart("d",getdate()),2)+
Right("0"+(DT_STR,4,1252)DatePart("yyyy",getdate()),2)+
".xls"
的FTP組件,但是,不會將作爲localPath一個表達式。我嘗試在我的原始數據流中覆蓋腳本組件內的User :: path變量,但這似乎也不起作用。
我知道我失去了一些東西每個簡單,但我盯着它足夠長的時間,它只是沒有向我涌來。
謝謝!
編輯
好了,打打鬧鬧的另一天之後,這裏是我想出來的:
我做了我原來的任務來創建我的平面文件。注意,我的供應商實際上需要一個真正的excel xls而不是一個csv,所以我必須建立一個文件連接目的地,然後我需要在我的服務器上創建一個靜態文件。
然後我用一個腳本任務(C#)的靜態文件複製到文件與動態域名。當然,我必須離開原始文件,因爲excel目標需要在那裏。
最後,我提出另一種文件的連接和使用上述表達式,因爲它的連接字符串。然後我有FTP任務使用文件連接作爲文件上傳。
我要去嘗試和修剪它全部下來一點。我想我可以逃避不使用腳本任務,而是使用文件系統任務來複制和使用文件連接來幫助使用動態路徑名。
底線我學到的是:在SSIS中,當它說:「PathIsVariable」,你把在文本字段什麼是作爲一個變量。因此,如果我放入@ [User :: path],它將解析爲「C:\ pathonmydrive」。然後SSIS查找具有該名稱的變量,即C:\ pathonmydrive來查找該文件。這有點反直覺,但現在我知道我可以避免這個陷阱。
只是回答了這個問題解釋如何正確地通過一個腳本組件設置一個變量。但這可能不是你的問題所在。我一直在四處傳送文件用FTP組件和動態文件連接器和目睹了一些......「怪癖」與SSIS。只要讓我知道,如果它不工作和虐待很樂意幫助診斷問題 – cfrag 2012-07-20 09:11:46