Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用SSIS工具从平面文件源中删除空行?_C#_Ssis - Fatal编程技术网

C# 如何使用SSIS工具从平面文件源中删除空行?

C# 如何使用SSIS工具从平面文件源中删除空行?,c#,ssis,C#,Ssis,我正在尝试从SSIS中的平面文件中删除所有空行。我尝试使用条件拆分来解决此问题,但该解决方案并不是我正在处理的任务的最佳选择。我想知道是否有任何C代码可以删除我可以在脚本组件中使用的所有空行?我是SSIS和c#的新手,因此如果有任何帮助,我将不胜感激。这里有一些c#可以帮助您。您不太清楚空行的含义: 这将使用脚本组件,并允许您使用非空行: using System.IO; //This gets you to File (Way up top with the rest of the using

我正在尝试从SSIS中的平面文件中删除所有空行。我尝试使用条件拆分来解决此问题,但该解决方案并不是我正在处理的任务的最佳选择。我想知道是否有任何C代码可以删除我可以在脚本组件中使用的所有空行?我是SSIS和c#的新手,因此如果有任何帮助,我将不胜感激。

这里有一些c#可以帮助您。您不太清楚空行的含义:

这将使用脚本组件,并允许您使用非空行:

using System.IO; //This gets you to File (Way up top with the rest of the usings)

public static void Main()
{
    string path = @"c:\[where ever you file is located].txt";

    // Check path.
    if (File.Exists(path))
    {
        string[] lines = File.ReadAllLines(path);

       foreach(string line in lines)
       {
         if(!string.IsNullOrEmpty(line)) //Not null or empty
         {
              //[DO STUFF -- use split if you want to go to data flow]
         }
       }
    }
}

如果平面文件源是Excel,请尝试以下链接中概述的方法

您提到有条件拆分不是最好的方法,但没有说明原因。由于您是SSIS新手,以上内容可能有助于验证您是否正确应用了它


希望这能有所帮助。

您只是想删除平面文件中的行,然后再次保存该文件吗?或者在导入SQL表/DB之前删除它们?如果导入选项可能更容易导入到临时表中,则删除空行。另一种方法是应用由数据库中的一个或多个数据库暂存表组成的暂存环境,这些表在每次运行SSIS包时都会被截断并重新填充。它对于可跟踪性非常有用,对于更容易地执行您所要求的功能也非常有用。通过以下几个步骤模块化您的方法:1)将所有行从平面文件导入暂存表,2)使用SQL清理暂存表,3)将清理后的记录(不包括null)导入最终数据库目标。