SSIS 2012完整结果设置为设置变量

时间:2014-04-11 22:03:45

标签: ssis foreach-loop-container

我正在尝试创建一个SSIS包,该包读取包含外键信息的映射表和它们指向的表,并存储完整的结果集,用于填充7列,这些列表示结果集中随后使用的列更新6台服务器上的xxxSID列。

我被困住了!请帮忙。

我已经创建了带有查询的SQL任务来构建结果集并映射到对象变量SidMap并且任务成功运行但是,我不知道从那里去哪里。一些博客说创建一个ForEachLoop容器并将对象变量映射到我已经完成的集合。我还创建了表示7列的字符串变量,但不知道如何填充它们。

到目前为止我读过的博客表明这只能通过脚本任务来完成。真的吗?如果是这样,它是如何完成的?

另一个用户发布了一个问题,听起来他可能正在使用SQL任务执行相同或非常相似的事情,但我没有看到他是如何填充列对象变量然后将数据转换为字符串变量。 SSIS Result set, Foreachloop and Variable

目前我正在使用游标手动更新表。如果有人愿意看到我可以发布的代码,但除了提供我正在做的事情的清晰画面外,并不认为它与问题相关。

1 个答案:

答案 0 :(得分:0)

我将使用Foreach ADO枚举器创建For Each循环容器,并将对象变量映射到集合。我会在Variable Mappings页面上映射7个字符串变量。

此过程详细记录在此处:

http://technet.microsoft.com/en-us/library/cc879316.aspx

常见的"陷阱"结果集和变量之间的数据类型不匹配。为了避免这种情况,我总是在生成数据集的数据流中的列周围包裹CAST ( ... AS NVARCHAR ( 4000 ) )或类似的,并且我接收的所有变量都是String数据类型。