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

Aar*_*ide 5 ssis sql-server-2008-r2

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

在此输入图像描述

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

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;
}
Run Code Online (Sandbox Code Playgroud)

我的目标表目前看起来像这样:

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
Run Code Online (Sandbox Code Playgroud)

我的目标只是添加一个调用Day报表的列,其中包含计数器变量的值.

luv*_*tor 5

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

添加派生列转换

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

新专栏

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