我在SSIS包Var1和Var2中有两个变量。这两个变量都有值。有什么办法可以将这两个变量的值放在一个新表中吗?例如,在新表col1中,值为Var1,col2的值为Var2。
由于
答案 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的系统变量。
注意:我选择删除并替换示例中的表。很可能你会想要这个静态,并且可能会在表格中添加一个日期时间来跟踪变量。
注意2:我知道开始时间不是varchar,但它符合示例的目的。
答案 1 :(得分:0)
SELECT @Var1 AS COL1, @Var2 AS COL2
INTO #MyTempTable
我没试过这个。但是,我认为它应该有效。