2010-11-03 58 views
1

來源:ADO.Net(TSQL -query):查詢將返回數據集(列名稱爲月,即JAN FEB MAR APR JUN JUL .... DEC)如何讀取和更改SSIS中的腳本組件中的列名稱

目的地:Excel中

如果您運行包被轉化中的數據和Excel是,如 一月二月三月.. DEC列名 - >這是預期的結果

新要求: 1.聲明一個名爲「Year」的變量,值爲2010.這可能會有所不同。 2.在數據流中使用腳本組件我必須更改列名以使_2010結束,即JAN_2010 FEB_2010 MAR_2010 ... DEC_2010(2010應該來自變量) 3.需要編碼的內容在腳本組件中稱爲「ProcessInputRow」的方法。 請更新我如何實現這一點,即更改腳本組件 中的輸入列名並將其傳輸到目的地?

由於提前

回答

1

你不能真正添加​​列或編程方式更改列名,因爲列的名稱將需要靜態後來就停機的數據流。

通過進入腳本轉換編輯器的輸入和輸出區域,打開輸出0,然後在輸出列區域中添加12列,您可以做的是在輸出中添加新列。然後,您可以將來自每個輸入列的數據分配到腳本中的相應輸出列。

使用派生列轉換可以更好地完成此操作。

所有的說法,我有一種感覺,你真正想要的不是JAN_2010,FEB_2010等,而是今年追加到月份的名稱。實際上,您不能在數據流中使用動態列名稱。

但是,您可以嘗試以下操作:Excel列名實際上只是Excel電子表格第一行的內容。使用正確的數據(使用腳本組件作爲數據源)創建一個在電子表格頂部輸出單行的流程,然後運行數據流以添加數據。

+0

但我在一些博客中發現我們可以實現這個 http://munishbansal.wordpress.com/2009/06/09/dynamic-columns-mapping-%E2%80%93-script-component-as- destination-ssis /#comment-607請給我建議 – VInayK 2010-11-03 16:46:29

相關問題