SSIS - 对另一个表执行查找来获得相关栏目(SSIS - Performing a Looku

2019-06-26 10:06发布

我想在SSIS执行SELECT语句,但这个选择语句需要一个参数从另一个组件,并且该选择语句的列必须被用作输入到其他组件。

例如:

select id from myTable where name = (column from a previous component).

和上面的SELECT语句的“ID”的内容应该是未来的组件可以使用的列。

如果我添加一个“OLE DB命令”组件,它可以让我参考其他组件的输入,但我不能生成它的输出。 它似乎OLE DB命令组件仅用于更新/插入语句?

关于如何做到这一点任何想法?

Answer 1:

其实,这是对查找的情况下。 看来你想要的名称和返回ID进行查找。 很简单。 以下是我创造了这样一个例子:

  1. 拖动一个数据流任务拖到设计表面。 双击它来打开它。
  2. 对于我的数据库创建一个连接管理器
  3. 拖到设计表面:
    • OLE DB源
    • 查找变换
    • 一个OLE DB目标
  4. 源连接到查找到目的地。 这是“查找匹配输出”我们希望去到目的地。 见图1。
  5. 配置源。 我的源表刚id和name列。
  6. 配置查找
    • 常规选项卡:使用OLE DB连接
    • 连接选项卡:指定相同的连接,但使用查找表。 我的查找表只是标识和名称,但名字被制成独特的,因此,更理智的作为查找列。
    • 在列选项卡,配置名称映射到名字,与“ID”作为输出。 配置查找操作是“添加新列”,并命名该列“lookupId所”。 见图2。
    • 忽略其他两个选项卡
  7. 配置输出采取所有三列。 见图3。

就这样。 用于从源的每一行,名称列将用于匹配查找表的名称列中。 每场比赛将有助于其ID列作为新列lookupId所。 所有这三个栏将进行到目的地。

图1:

图2:

图3:



文章来源: SSIS - Performing a Lookup on another Table to get Related Column