在 SSIS 中的查找中使用变量

Cav*_*n42 3 sql lookup ssis loops

我正在尝试通过一些数据流任务进行循环。对于每个循环,它会将日期变量增加 1(存储在变量中)。在数据流任务中,我有一个lookup任务应该使用作为 sql 语句的一部分递增的变量,如下所示:

Select
    *
From
    Table
Where
    Date = @[User::Date]
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我收到此错误:

Must declare the scalar variable "@".
Run Code Online (Sandbox Code Playgroud)

任何试图将此变量放入 sql 的帮助lookup将不胜感激。我也试过在里面使用参数lookup但也得到一个错误说没有足够的参数

TMN*_*014 5

在查找之前使用派生列并将新列的值设置为变量。然后在查找转换中,您可以直接使用表中的新派生列和日期列以及查找预期列进行直接映射。

在您的情况下,由于您的要求的性质,您似乎需要使用 SQL。因此,在将缓存模式更改为部分缓存后,转到高级选项卡并将 SQL 更改为 -

Select * 
From Table 
Where Date <> ?
Run Code Online (Sandbox Code Playgroud)

单击参数按钮并将派生列映射到 Parameter0。因此,查找匹配输出现在基本上会为您提供与由变量@[User::Date] 设置的派生列不匹配的所有日期。