2012-02-01 137 views
0

我必须连接到许多具有连接字符串的Foxpro数据库: Data Source = \\ All Users \\ DB0009 \ db1.dbc; User ID = xxx; Password = yyy; Provider = VFPOLEDB.1; Persist Security Info = True;来自SQL的SSIS动态连接字符串表

其中文件夹DB0009可以是0000到0100之间的任何整数,db1.dbc可以是每个文件夹的db1.dbc或db2.dbc。

对于每个连接字符串,我需要构建一个简单的SQL语句,除了硬编码的年份以外,它对于每个数据库都是相同的。所以sql是:从表

select *,'2012'我希望能够存储连接字符串和每个连接字符串的年份在一个sql表中,可以在运行时查找。

我正在使用SSIS 2008.我猜根据我所看到的,我可以使用枚举器设置为ADO枚举器的foreach循环(虽然我不介意在那里确认),但怎么可以我从同一张表中拖出一年,并将其放入数据流任务内部的sql查询中?

感谢您的帮助! 雨霏

+0

希望创建一个所有可用连接字符串的权威列表并将该值与该连接字符串相关联? – billinkc 2012-02-01 15:50:37

回答

1

你可以做以下步骤:

  1. 创建foreach循环来获取连接字符串和年值到变量。
  2. 创建连接管理器,并使用表达式将连接字符串属性设置为连接字符串变量。
  3. 用一个表达式创建另一个变量,该表达式使用year变量(动态SQL命令字符串)创建SQL命令。
  4. 使用执行SQL任务在您的foreach中执行此操作。

下面是一个博客的链接,指出在执行SQL任务中映射参数应该有帮助。 http://www.rafael-salas.com/2007/11/ssis-mapping-parameter-inside-of.html