我在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