我希望能够使用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列(bigint
,datetime
,nvarchar
,nvarchar
,nvarchar
类型。
另一个错误是:
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
?
答案 0 :(得分:1)
我刚遇到这个问题&解决了它,虽然我不确切知道如何。
为SQL Server 2008 R2运行SSIS: a)查询将行拉入对象 b)为每个尝试循环并将前两列的值拉入变量 (这已经运行良好 - 我回来编辑查询和每个循环并为分支逻辑添加一个额外的变量) c)错误映射变量'1',它恰好是一个int,并且碰巧与我所从的列相同。
我尝试删除foreach循环中的变量到列引用并重新添加它,我发现该变量不再列在允许映射的变量列表中。
我删除了变量,创建了一个相同类型的新变量(int32)和名称,添加了它,并且运行正常。