如何使用SSIS将包含递增变量值的额外列添加到目标表中?

时间:2012-03-01 04:04:32

标签: ssis sql-server-2008-r2

我定义了这个SSIS工作流程。在我解释我在做什么之后,我的方法可能是错误的,因为这是我的第一个“真正的”SSIS包。

enter image description here

为了增加计数器,我这样做:

public void Main()
{
    int i = Convert.ToInt32(Dts.Variables["User::DayCounter"].Value.ToString());
    i++;
    Dts.Variables["User::DayCounter"].Value = i;

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

目前我的目标表如下:

PID Campaign Name   Company Impr    Clicks  Clickthru   Leads   View-Through Leads  # Sales # View-Through Sales    Sales   View-Through Sales  Sub Sales   View-Through Sub Sales  We Get  They Get    Revenue EPC S U R T Active  SourceFile
1734    US - Lending Tree Refinance Mortgage - DA 3 Page SSN    Tree.com    58  2,053   3,539.66%   201 0   0   0    0.00    0.00    0.00    0.00    8044.02     5846.00     2198.02     2.85   10% Yes Active  \\ad1\Marketing\Aaron\DirectTrackAutomatedReports\admin_program_stats_20120229.csv

我的目标只是在报告中添加一个名为Day的列,其中包含计数器变量的值。

1 个答案:

答案 0 :(得分:5)

您应该在平面文件源和OLE DB目标组件之间的数据流任务中添加派生列转换。

Add Derived Column transformation

派生列转换将根据您的变量添加名为Day的新列。

New column

之后,将在数据流中显示新的Day列。只需将此列映射到相应的数据库字段即可。 (假设您的报告表中有一个Day列。)