如何在执行SQL任务SSIS中将变量作为参数传递?

我有sis软件包,因为我要从平面文件中获取值并将其插入表中。


在创建一个临时表中,我执行了一个执行SQL任务


CREATE TABLE [tempdb].dbo.##temptable 

(

date datetime,

companyname nvarchar(50),

price decimal(10,0),

PortfolioId int,

stype nvarchar(50)

)


Insert into [tempdb].dbo.##temptable (date,companyname,price,PortfolioId,stype) 

SELECT   date,companyname,price,PortfolioId,stype

FROM        ProgressNAV

WHERE     (Date = '2011-09-30') AND (PortfolioId = 5) AND (stype in ('Index'))

ORDER BY CompanyName

现在在上面的查询中,我需要(Date = '2011-09-30') AND (PortfolioId = 5) AND (stype in ('Index')) 使用变量名传递这3个参数,我已经在包中创建了变量,以便变得动态。


潇湘沐
浏览 1818回答 3
3回答

慕标琳琳

在“执行SQL任务”中,确保将SQLSourceType设置为“直接输入”,然后您的SQL语句是存储过程的名称,并为该过程的每个参数加上问号,如下所示:单击左列中的参数映射,然后从存储的proc中添加每个参数,并将其映射到SSIS变量:现在,当此任务运行时,它将把SSIS变量传递给存储的proc。

守候你守候我

EXCEL和OLED DB连接管理器使用参数名称0和1。我正在使用oledb连接,浪费了几个小时试图找出查询无法正常工作或获取参数的原因。上面的解释很有帮助,非常感谢。
打开App,查看更多内容
随时随地看视频慕课网APP