SSIS删除回车

时间:2015-11-16 00:43:34

标签: c# sql import ssis carriage-return

我有一个包含48列的平面文件。列是制表符分隔的行和CR-LF行(返回)。 现在我遇到的问题是,有一列有时包含回车符,并且在导入过程之前无法更改文件。

目前我写了一个C#脚本任务,查看每一行,计算选项卡,当有返回时,计数的选项卡不能被48整除,它会删除返回。这种方式有效但速度很慢,因为我的文件非常大,而且我会读取文件中的每个字符。

有人知道更好的方法来摆脱这些回车吗?

干杯!

1 个答案:

答案 0 :(得分:-1)

https://community.spiceworks.com/topic/2130093-ssis-package-flat-file-destination-blank-row-at-end-of-file

    public void Main()
    {
        string filename = @"C:\Temp\Gerard.txt";
        string fileinfo = "";
        string curline = "";

        TextReader tr = new StreamReader(filename);
        while ((curline = tr.ReadLine()) != null)
        {
            if (fileinfo != "")
            {
                fileinfo = fileinfo + Environment.NewLine;
            }

            fileinfo = fileinfo + curline;
        }
        tr.Close();

        TextWriter tw = new StreamWriter(filename, false);
        tw.Write(fileinfo);
        tw.Close();

        Dts.TaskResult = (int)ScriptResults.Success;
    }