动态选择SSIS中的数据库,表和SQL查询

时间:2017-10-31 09:18:41

标签: sql sql-server ssis parameter-passing connection-string

我是SSIS项目的新手。我尝试将数据传输到服务器,数据库,表名和SQL查询根据日期年份而变化。

  • 源数据库:A17
  • 来源表:A_PRICE_17
  • 来源查询:

     SELECT CODE, PRICE 
     FROM A_PRICE_17 
     JOIN someothertables
    

    (因此无法选择整个表格)

目的地:

  • 目标数据库:B17
  • 目的地表:B_PRICE_17

17来自2017年,明年所有数据库和表格名称将分别为A18,B18等。

我需要有关配置源和放大器的帮助目的地,选择数据库,表格和查询与年份相关的变化。

我感谢任何帮助。谢谢

1 个答案:

答案 0 :(得分:2)

创建一个包含Year,SourceName,DestinationName和TableName

的元表
Year | YearAlias | SourceName | DestinationName | TableName
2017 | 17        | A          | B               | Sales
2017 | 17        | A          | B               | Budget
2018 | 18        | A          | B               | Sales
.... | ....      | ..         | ..              | ....

然后在SSIS中,当您想要选择目的地时,如果使用DestinationName中的select和值,则可以遍历每个表并使用SourceName中的值在变量中进行SQL选择。然后你就能让它变得动态。