如何使用SSIS包中的变量值加载新表?

时间:2010-08-31 14:14:20

标签: sql ssis

我在SSIS包Var1和Var2中有两个变量。这两个变量都有值。有什么办法可以将这两个变量的值放在一个新表中吗?例如,在新表col1中,值为Var1,col2的值为Var2。

由于

2 个答案:

答案 0 :(得分:2)

有几种方法可以做到这一点。

一种是使用派生列任务创建数据流。然后,您可以拉入这两个变量并将其发送到OLE DB或SQL Server目标。

另一种方法是使用执行SQL任务。其中的诀窍是正确使用参数。查询看起来像:

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.[VarLog]') AND type in (N'U'))
DROP TABLE dbo.[VarLog]

Create table dbo.varlog (
    [var1] [varchar](50) NULL,
    [var2] [varchar](50) NULL
) 

Insert into varlog (var1,var2) values(?, ?)

在参数映射屏幕上添加两个变量。请注意,参数名称是基于0的计数器,对应于?。例如,请参见屏幕显示。在我的测试中,我使用了PackageName和StartTime的系统变量。

alt text

注意:我选择删除并替换示例中的表。很可能你会想要这个静态,并且可能会在表格中添加一个日期时间来跟踪变量。

注意2:我知道开始时间不是varchar,但它符合示例的目的。

答案 1 :(得分:0)

SELECT @Var1 AS COL1, @Var2 AS COL2
INTO #MyTempTable

我没试过这个。但是,我认为它应该有效。