SSIS查找多个相同的数据库

时间:2015-03-09 12:28:46

标签: ssis components integration lookup multiple-databases

我正在开展一个项目,我需要在Integration Services中对数据仓库服务器进行查找。 我的问题是我需要能够更改我执行查找的数据库。数据库在设计上是相同的。

我之前用脚本组件解决了这个问题,对于每一行,如果数据库ID已经更改,连接会发生变化,例如下面的

try {
  if (databaseNr != Row.DatabaseNr) {
    try {
      databaseNr = Row.DatabaseNr;
      currentCatalog = "db" + Row.DatabasNr;
      connection.ChangeDatabase(currentCatalog);
    } catch (Exception e) {
      ComponentMetaData.FireWarning(0, ComponentMetaData.Name, e.Message, "", 0);
    }
  }
string command = "SELECT Id, Name, Surname FROM [" + currentCatalog + "].[TableName] WHERE Id = '" + Row.OrderID + "'";

但如果使用查找组件可以实现这一点,那将会省去很多麻烦。

所以我的问题是:是否有可能以任何方式使用列数据来更改使用Lookup组件执行Lookup的数据库?

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

你能做的是:

  • 转到控制流程
  • 选择您的数据流任务
  • 转到属性并选择查找组件
  • 为查找创建表达式,您可以重用在脚本任务中准备的查询。

enter image description here