我正在尝试创建一个循环大约150个数据库的SSIS(Visual Studio 2013,SQL Server 2014)作业;更新每个数据库中的4个表。这些数据库存在于1台服务器上每个位置都有自己的数据库,这些数据库是彼此的克隆。
我已经阅读了一些演练,说创建一个执行SQL任务来收集所有数据库名称,然后是foreach循环。这些演练是高水平的,并且提供了关于所需实际步骤的非常细节。
我仍然是SSIS的新手,之前没有遇到过这项任务。我的书都没有涉及这个主题,不幸的是,不,我不是VB或C#开发人员。我正在将此解决方案构建为脚本,但被告知要在SSIS而不是存储过程中执行此操作。
非常感谢任何帮助。
修改
在Wrox Book:SSIS 2012,第4章容器,Foreach ADO枚举器示例演练之后,我能够让系统返回我需要通过脚本任务连接的每个数据库的列表。
现在我有脚本任务为我提供了数据库名称,我需要将它与我的更新语句的执行SQL任务相关联,以对抗正确的数据库;但是,我不知道如何关联要在执行SQL任务中使用的脚本任务返回的数据库名称。
答案 0 :(得分:0)
执行executionqltask并将以下查询写入其中。
使用object数据类型
创建变量将该变量指定为executionql task
中的输出然后使用foreachloop容器并将上面的变量与put一起使用,并在容器中分配一些新变量(variable2)以将当前db作为输出。
在连接管理器的属性中,转到表达式并在连接字符串中为此分配(variable2),其中相应地使用循环容器进行更改
那么你可以在那里做你的操作....SELECT name
FROM sys.databases