2013-11-01 83 views
1

我正在使用SSIS 2008從SQL Server中提取數據,一路從其他數據庫獲取字段,在將輸出存儲到文本文件之前執行派生列轉換字符串和數據轉換轉換。如何解析數據源中具有相同名稱的多個列?

不知何故沿途,EncounterNumber字段被重複。從數據轉換轉換到平面文件目標的輸出列元數據顯示該字段兩次。試圖字段映射成扁平時,我得到的錯誤如下:

Error at Data Flow Task [Flat File Destination [44524]]: There is more than one data  
source column with the name "Encounter Number". The data source column names must be 
unique. 

(Microsoft Visual Studio) 


=================================== 

Exception from HRESULT: 0xC0207015 (Microsoft.SqlServer.DTSPipelineWrap) 

------------------------------ 
Program Location: 

at 
Microsoft.SqlServer.Dts.Pipeline.Wrapper.CManagedComponentWrapperClass. 
ReinitializeMetaData() 
at 
Microsoft.DataTransformationServices.DataFlowUI. 
DataFlowComponentUI.ReinitializeMetadata() 
at 
Microsoft.DataTransformationServices.DataFlowUI.FlatFileDestinationUI.conn 
Page_SaveConnectionAttributes(Object sender, FlatFileConnectionAttributesEventArgs 
args) 

是否有錯誤輸出或處理重複遭遇領域的一些其他的方式,這樣的字段可以被映射到我的公寓文件目的地?

更新:這是數據流的屏幕截圖: enter image description here

從數據轉換的元數據如下:

"Name" "Data Type" "Precision" "Scale" "Length" "Code Page" 
"Encounter Number" "DT_STR" "0" "0" "20" "1252" "0" ""  
"OLE DB Source" 
"Encounter Number" "DT_WSTR" "0" "0" "20" "0" "0" ""  
"Data Conversion" 

如何刪除數據轉換或OLE DB源版本遭遇號碼?這是一個設置的地方?

回答

0

不,不應該很難找到兩個查詢都有Encounter作爲列名,並將其中的一個更改爲返回不同的列名。

+0

嗨,埃德蒙,謝謝你的回覆。我用數據轉換輸出中的屏幕截圖和元數據更新了我的發帖。可以進一步詳細說明我將如何更改其中一個字段以確保它不會被添加兩次? – SidC

+1

數據轉換轉換爲創建第二個Encounter字段的轉換嗎?如果是這樣,重命名轉換創建的字段非常容易,並且您可以根據需要手動更新平面文件目標中的映射,以便將正確的字段放在正確的位置。 –

1

如果源文件中有兩個同名的列,可以在連接管理器中更改該列,例如,如果源文件是文本或csv,則在平面文件連接管理器中,然後在高級選項卡中更改列的名稱並加載數據。如果源文件中的兩個不同列的列名相同,這將起作用。

相關問題