使用目标数据库中的查询来限制SSIS 2008中的OLE DB源任务

时间:2010-12-09 20:07:54

标签: sql database sql-server-2008 ssis

全部, 我有一个我正在构建为数据导入程序的程序包,因此我可以从生产环境中复制数据集并在另一个实例上进行开发。

我有两个表,包含服务票证的标题行和详细信息行。这些服务票据与订单挂钩。

我从某个时间窗口拉出服务票据,但是,原始订单超出了我为票证提取的日期范围。

我希望能够在SSIS包中采取以下步骤:

  1. 导入指定日期范围内的标题行和详细信息行,从prod到dev
  2. 从开发表
  3. 中选择相关的订单号
  4. 使用订单号列表仅从prod
  5. 导入相关订单

    我通过其他答案进行了调查,找不到直接解决这个问题的答案,所以如果有答案我很抱歉,我很抱歉。我可能没有正确地提出这个问题。我假设我需要将这些订单号拉入临时表或变量,以便将它们作为过滤器应用。

    在我写这篇文章的时候,我只是想到在源系统上使用连接来订购表并仍使用日期范围进行限制,但我仍然会发布问题,看是否有人处理过以前用这个。

1 个答案:

答案 0 :(得分:1)

您的步骤已经相当清楚,您是否在询问如何实际实施它们?看起来您可以通过在数据源中使用SELECT语句来执行所有这三个步骤:

  1. 动态构建SELECT语句,并在数据源中使用正确的日期。日期可以在脚本任务中以编程方式生成,也可以保存在数据库表中并填充到变量中。然后将数据复制到开发系统。

  2. 在dev系统中运行一个返回订单号的SELECT语句,并将结果复制到prod数据库中的表。

  3. 在prod数据库中运行一个SELECT语句,该语句从步骤2加入到表中,然后将结果复制回dev。

  4. 步骤2和3中表格的替代方法是查找转换,但如果您有大量行,那么使用表格可能会更快。