我必须构建一个SSIS包,在其中将根据列名加载数据。 我有7个平面文件,必须根据列名将这些文件加载到SQL Server中的2个表中。具有列名称(名字,姓氏,电话号码)的平面文件应转到表A。具有列名称(名字,姓氏,单元格编号)的平面文件应转到表B。 拆分应基于列名而不是列值进行。我不是.net人。
答案 0 :(得分:1)
使用foreach循环遍历所有文件,并将名称完整的文件路径保存为变量。
使用脚本任务来确定文件是用于手机还是普通手机。 注意:文件路径也可能是foreach循环中的变量
string readingLine;
Using(System.IO.StreamReader readingFile = new System.IO.StreamReader(filePath))
{
readingLine = readingFile.ReadLine();
}
if(readingLine.Contains("Cell") //It would be best to use the full column name with a comma to avoid names with Cell in it to false trigger a true result
{
Dts.Variables("PhoneType").Value = "Cell";
{
else
{
Dts.Variables("PhoneType").Value = "Phone";
}
添加数据流
完成此操作后,您可以为所需的输出创建视图。