我有一个执行SQL任务。查询表后,此任务获取记录数。
我正在使用的查询是
DECLARE @RowCount INT =
(SELECT COUNT(FUND_STATUS) AS [Fund Status]
FROM dbo.FundPrice
WHERE fund_status != 'EXPIRED')
当我尝试打开构建查询时,它表示不支持Declare语句,但该任务执行成功。我创建了一个名为RowCount
的包变量。
我在执行脚本任务中设置了映射,使得变量名称为User:RowCount
,Direction为Output,DataType为LONG,Parameter = @RowCount
然后我创建了一个脚本任务。在脚本任务中,我正在阅读包变量
var rowCount = Dts.Variables["RowCount"].Value;
但是,当我在调试模式下运行包时,rowcount的值为0,尽管表中有1000行与查询匹配。有人能告诉我吗 问题是什么?
答案 0 :(得分:2)
这张你工作的照片将是
首先:在您的数据流中添加新的 DataFlow 添加您的source table
并添加Compenent Row Count
,如下图所示
其次:双击Row Count Component
和the component properties tab
转到variable name
并添加variable
,如下图所示
第三:在Script Component
双击并选择variable
,如下图所示
最后:点击Edit Script
和main Method write this code
MessageBox.Show(Dts.Variables["User::RowCount"].Value.ToString());
有关详细信息,请参见下图: