【问题标题】:Pass Table name dynamically in SSIS lookup transformation在 SSIS 查找转换中动态传递表名
【发布时间】:2019-12-04 11:19:41
【问题描述】:

如何在查找转换中动态传递表名。 我曾尝试在数据流任务中使用 Lookup.Sqlcommand,但它不起作用。

要求是增量上传到目标数据库表,例如需要将10条来自源的新记录推送到目标表(3个具有相同表结构的表), 表名是 Manager_Tbl , Supervisor_Tbl , Labor_tbl ,表列是“职位,员工编号(PrimaryKey),员工姓名,工人位置”。

名为 Job Title (values-Manager,Supervisor,Labor) 的列决定了我需要将数据推送到目标哪个表, 如果员工编号已存在于目标表中,则基于职位我需要检查相应的目标表,如果存在则使用校验和转换确定它是更新还是新插入目标。 那么如何根据职称列在查找转换中动态更改表名

【问题讨论】:

  • 你不能当你有一个包含完全不同列的表时,你的查找映射会发生什么?
  • 你真正想做什么?听起来像一个 XY 问题。抱歉,我没有定义链接。
  • 嗨 raghav,我在下面提到了针对您的问题的解决方案,如果您还有任何问题,请检查并告诉我..

标签: ssis lookup


【解决方案1】:

首先创建一个数据类型为object的变量'TableName',然后在控制流中拖一个EXECUTE SQL TASK,然后将SQL查询放入SQL 语句SQL Query 下面给出,然后请按照快照一步一步解决您的问题。

SELECT NAME
FROM YOURDATABASE_NAME.SYS.TABLES;

在你的循环中调用变量 TableName 之后,我希望你能找到解决问题的方法。

【讨论】:

  • 这是一个执行 SQL 任务,而不是查找转换。
  • @Nick.McDermaid,是的,我知道这不是查找转换,您可以使用变量值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-03
  • 2021-12-14
  • 1970-01-01
相关资源
最近更新 更多