使用来自查询/数据源的结果作为另一个SSIS查询中的参数

时间:2017-07-14 00:55:26

标签: sql-server ssis

我正在寻找将一个查询的结果用于另一个查询的最佳方法,该查询使用不同的服务器和数据库。我必须设置OLE DB源。第一个来源会给我一个12位长号的列表,我需要在第二个查询中使用它作为过滤器。实施例

第一个OLE DB来源:

SELECT DISTINCT
digits
from foo

第二个数据库来源

SELECT DISTINCT
numbers
from abc
where numbers IN
(select digits from 1st DB Source)

我没有任何DBA访问sp,所以他们是不可能的。解决这个问题的最佳方法是什么?我不确定是否有办法将第一个源的结果输出到变量中,以便我的第二个查询可以使用它。

1 个答案:

答案 0 :(得分:2)

我不确定是否有办法将第一个来源的结果输出到变量中,以便我的第二个查询可以使用它。

是的!您可以。这是一个逐步演示。

1 :我创建了2个源(source2012,source2014)和一个变量(varResult),用于存储连接到source2012的Execute SQL Task返回的值。如下所示,将Result set选项卡设置为存储SQL查询返回的值。 img1

2 :在第二个Execute SQL Task中,我使用?传递连接到第二个源的sql查询中的参数。

img2

3 :参数映射设置如下,以便?在运行时映射到ResultSet variableimg3