2010-03-03 109 views
1

我需要一些反饋意見,說明如何做我想做的事情的最佳方式,允許我設置位置。計劃的SSIS包創建excel文件,日期爲文件名

我有一個巨大的數據庫,不斷接收新的輸入。現在我需要一個顯示過去一天所有輸入列的excel文件。所以我認爲最好的方法是使用SSIS包。我從來沒有真正使用過SSIS,所以我不太確定可能性有多廣。所以目前我只能創建一個包含的全部的SSIS包。但是我每天都需要一個新文件,而且還需要文件名中包含數據的地方,因爲舊文件不會被刪除等。所以我需要能夠創建一個.xls文件,其中包含文件名中的日期。是否有捷徑可尋?

我也想知道是否可以自動修改這個excel文件的佈局,特別是列寬,因爲它們都是默認的寬度,這對客戶端來說並不是非常有用。

我聽說也可以使用visual studio創建SSIS包,這是否會有所作爲或可能性相同(請記住,我是c#程序員)?

非常感謝

回答

3

可以通過Visual Studio創建SSIS包。在Visual Studio中單擊新項目時,選擇「商業智能項目」 - >「Integration Services項目」。

雖然與您的情況不同(即Excel文件輸出),但在我的情況下,對於平坦的.TXT文件輸出,我將日期作爲平面文件名的一部分。爲此,在我的Flat File Connection Manager中,在Properties-Expressions-> Connection String(Property)中,我輸入了下面的表達式。類似的方法也適用於你的情況,特別是如果你去.csv文件輸出。

"[Folder Destination]_" + 
(DT_WSTR,4)YEAR(GETDATE()) + 
RIGHT("0" + DT_WSTR,2)MONTH(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()),2) + ".TXT" 
1

@Kashif - Thank you !!

您的帖子中有一個小錯字。 通知,3號線缺少左括號:

RIGHT("0" + DT_WSTR,2)MONTH(GETDATE()),2) + 

需要是:

RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) + 

一起:

"[Folder Destination]_" + 
(DT_WSTR,4)YEAR(GETDATE()) + 
RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()),2) + ".TXT" 

而且,只是任何人都記發現這個帖子,你可以用上述路徑替換上述[文件夾目的地] _「:

"C:\\Some\\Path\\to\\File.txt" 

注意雙反斜線!

+0

以上語法僅生成HH(小時)。如果我需要HHMMSEC(HourMinSec)? – goofyui 2012-11-07 15:55:13