在SSIS脚本组件中创建时,变量不包含回车符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SSIS脚本组件中创建时,变量不包含回车符相关的知识,希望对你有一定的参考价值。

我在SSIS中的脚本组件中创建了一个c#变量。我的计划是将先前的变量值与通过数据流的每一行的数据加上一个新行连接起来。然后,我将该变量的值分配给在发送邮件任务中使用的SSIS变量。

public class ScriptMain : UserComponent
{
    string myString;

    public override void PostExecute()
    {
        base.PostExecute();
        this.Variables.emailContent = myString;
    }

    public override void Input0_ProcessInputRow(Input0Buffer Row)
    {
        myString = myString + Row.column1 + ", " + Row.column2 + Environment.NewLine;
    }

}

我的问题是,当发送电子邮件时Environment.NewLine似乎没有做任何事情,SSIS变量emailContent将在电子邮件中发送到一行。

我也尝试过使用 ,但没有运气。

有趣的是,当我将变量直接写入文本文件时,新行显示为预期。

答案

尝试使用

public override void Input0_ProcessInputRow(Input0Buffer Row)
    {
        myString = myString + Row.column1 + ", " + Row.column2 + "
";
    }

请注意,这些符号相当于:


 : CR

 : LF

同时尝试复制反斜杠(因为您正在使用SSIS变量)

public override void Input0_ProcessInputRow(Input0Buffer Row)
    {
        myString = myString + Row.column1 + ", " + Row.column2 + "\r\n";
    }

以上是关于在SSIS脚本组件中创建时,变量不包含回车符的主要内容,如果未能解决你的问题,请参考以下文章

如何从shell脚本中的变量中删除回车

在存储过程中创建动态表而在 PL/SQL 块表中创建时权限不足[重复]

Visual Studio 2010:调试时,如何从变量中复制包含回车符的字符串值?

使用pat文件自动运行SSIS

未分配 SSIS 脚本任务变量值

SSIS 脚本组件阻塞