用于发送电子邮件的 SSIS 脚本任务未正确显示数据

SSIS Script Task to send email doesnot show the data correctly

我正在尝试查询数据库并发送电子邮件正文中的内容。内容是订单和每个用户的详细信息。我正在尝试调用脚本任务来编写正文,并且我正在使用发送电子邮件任务中的内容。当我尝试 运行 包时,它执行时没有错误,但低于我在电子邮件中看到的内容

Execute SQL task output sent using Send Email Task in SSIS:

Customer Num    Rec Loc Strain  StrainCode  Age Sex Genotype    Sent From   Quantity
Microsoft.SqlServer.Dts.Runtime.Variable    Microsoft.SqlServer.Dts.Runtime.Variable    Microsoft.SqlServer.Dts.Runtime.Variable    Microsoft.SqlServer.Dts.Runtime.Variable    Microsoft.SqlServer.Dts.Runtime.Variable    Microsoft.SqlServer.Dts.Runtime.Variable    Microsoft.SqlServer.Dts.Runtime.Variable    Microsoft.SqlServer.Dts.Runtime.Variable    Microsoft.SqlServer.Dts.Runtime.Variable

下面是脚本

namespace ST_c074d0acfee7488b96d42a0f858efee7
{
       [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
        public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
        {

            #region VSTA generated code
            enum ScriptResults
            {
                Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
                Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
            };
            #endregion

            public void Main()
            {
                string header = string.Empty;
                string message = string.Empty;

                header = "Execute SQL task output sent using Send Email Task in SSIS:\n\n";
                header += string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}\t{8}\n", "Customer Num", "Rec Loc", "Strain", "StrainCode", "Age", "Sex", "Genotype", "Sent From", "Quantity");
                message = string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}\t{8}",
                                            Dts.Variables["User::CustomerNumber"].ToString(),
                                            Dts.Variables["User::ReceivingLocation"].ToString(),
                                            Dts.Variables["User::StrainName"].ToString(),
                                            Dts.Variables["User::StrainCode"].ToString(),
                                            Dts.Variables["User::Age"].ToString(),
                                            Dts.Variables["User::Sex"].ToString(),
                                            Dts.Variables["User::Genotype"].ToString(),
                                            Dts.Variables["User::SentFrom"].ToString(),
                                            Dts.Variables["User::OrderQuantity"].ToString());

            Dts.Variables["User::EmailMessage"].Value= header + message;

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

下面是包裹

我正在向脚本任务属性传递所有必需的数据,如下所示

和获取所有数据的查询

以及我正在做映射的 For 循环

任何人都可以告诉我我在这里缺少什么以及为什么我的电子邮件没有显示真实数据

我找到了我必须做的问题

 Dts.Variables["User::Age"].Value.ToString(),

而不是

Dts.Variables["User::Age"].ToString(),