我在SQL Server中有一個3列的表,其中一列是包含由逗號分隔的連續列的行的數據列。第一行也是我想要創建的新表的標題行。所以基本上我想打開它。使用逗號分隔符將單列數據拆分爲SSIS中的多列
Data | ID | Source
====================
a,b,c,d,e | 1 | a.csv
f,g,h,i,j | 2 | b.csv
到
a | b | c | d | e
=================
f | g | h | i | j
使用SSIS,我能想到做它使用的是轉儲到數據列的文本文件,然後唯一的辦法重新閱讀它作爲一個平面文件源,但我寧願避免創建額外的不必要的文件
編輯:使用對不起林2008 SSIS
我遵循你的指示,但它似乎已將InputColumn1作爲Blob使用,因此不允許Split方法。我嘗試過使用ToString().Split(',')(得到一個索引超出了數組錯誤的界限),但那也沒有效果。我進入BufferWrapper.cs文件,看到InputColumn1的類型是Blob,並且正在返回一個BlobColumn,嘗試用字符串替換該類型,但是然後得到一個無法轉換類型爲'Microsoft.SqlServer.Dts.Pipeline.BlobColumn'的對象。鍵入'System.String'錯誤。是否可以這樣做? – VishalJ
說實話,我從來沒有與Blob合作過。你不能在源任務中改變它嗎?改變它收到的類型? –
不要編輯BufferWrapper.cs,它會自動生成。您只能在腳本組件編輯器中修改輸入的數據類型。你實際需要的是一個「數據轉換」組件來處理你的blob。將它放在腳本組件之前並將該列轉換爲字符串 – TsSkTo