SSIS ForEach变量映射错误

时间:2014-03-24 13:34:48

标签: variables ssis

我希望能够使用SSIS发送电子邮件。我按照" How to send the records from a table in an e-mail body using SSIS package?"的说明进行操作。但是,我收到了一个错误:

Error: ForEach Variable Mapping number 1 to variable "User::XY" cannot be applied

运行包时。我的源表有5列(bigintdatetimenvarcharnvarcharnvarchar类型。

另一个错误是:

Error: The type of the value being assigned to variable "User::XY" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object.

问题是什么?


更新:当我试图找出问题时,我已经这样做了:在从Execute SQL Task获取数据时,我将int数据转换为varchar,然后使用具有String数据类型的变量,它可以工作。但是,我应该如何设置变量,使其具有INT数据类型,而不是varchar

1 个答案:

答案 0 :(得分:1)

我刚遇到这个问题&解决了它,虽然我不确切知道如何。

为SQL Server 2008 R2运行SSIS: a)查询将行拉入对象 b)为每个尝试循环并将前两列的值拉入变量 (这已经运行良好 - 我回来编辑查询和每个循环并为分支逻辑添加一个额外的变量) c)错误映射变量'1',它恰好是一个int,并且碰巧与我所从的列相同。

我尝试删除foreach循环中的变量到列引用并重新添加它,我发现该变量不再列在允许映射的变量列表中。
我删除了变量,创建了一个相同类型的新变量(int32)和名称,添加了它,并且运行正常。