SSIS中的动态OLEDB连接

时间:2014-03-27 06:20:15

标签: dynamic ssis oledbconnection

我正在设计一个SSIS包,用于将数据从一个数据库导入到其他数据库。实际上,我需要将数据从多个数据源导入到一个目标数据库。我知道的一种方法是对所有数据源(连接字符串)使用包配置并运行同一包的多个实例。但我想要的东西,我应该在我的配置文件中提供尽可能多的连接字符串,我的包应该连接到每个数据库从配置读取数据源连接字符串并导入到我的目标表。

这有可能吗?

1 个答案:

答案 0 :(得分:3)

如果您的数据流任务对于每个数据源都是相同的(例如,使用每个数据源中的相同表),您可以执行以下操作:

  1. 创建一个对象变量,比如ConnStrList。这将保存连接字符串列表。
  2. 在脚本任务中,遍历您的配置文件并将每个连接字符串添加到ConnStrList。
  3. 添加ForEach循环容器,将其数据源设置为ConnStrList。创建一个字符串变量,比如ConnStr。这将包含一个单独的连接字符串。将ConnStr设置为foreach循环的迭代变量。
  4. 在ForEach循环容器中添加数据流任务。
  5. 为OLEDB源创建OLEDB连接管理器。转到属性 - >表达式和ConnectionString,分配变量ConnStr。
  6. 如果每个方案的DFT不同,您可能希望为每个源提供单独的数据流。

    如果这回答了您的问题,或者我的情况出错了,请告诉我。