分配给变量的值的类型与当前变量类型不同
The type of the value being assigned to variable differs from the current variable type
我的 SSIS 包因错误而失败:
The type of the value being assigned to variable differs from the
current variable type.
我在SQLtable中声明了一个string类型的变量,对应的列名是varchar(33)。如果我将数据类型用作对象,它会成功,但我又需要在连接字符串的表达式中使用变量值,并且不支持对象类型。
请帮助我如何进行。
注意:我的 SSIS 包的目标是从 table(这是它失败的地方)获取服务器列表,并在所有服务器中使用 foreach 循环容器执行一些脚本。
如果我没看错你的问题,你实际需要的是两个变量:一个是从你的 SQL table 接收数据的对象变量,一个是字符串值您将传递给您的 ForEach 循环。
它们之间的区别在于您的 Object 变量可以保存多行,而您的 String 值一次只能保存一个项目。您要做的是声明一个 Object 变量,用服务器列表填充它,然后使用 ForEach 循环遍历列表中的每个项目,一次将一个值提供给您的 String 变量。然后您将使用 String 变量来设置您提到的脚本,并在每个服务器上执行一次。
要进一步阅读,有一个很好的演练 here,它会为您提供我正在谈论的内容的屏幕截图和示例。
最近遇到这种情况。我做了以下
首先是我的对象类型的记录集目标变量。
使用 For Each Loop 容器,我将每一行数据(具有多列)映射到 OBJECT 类型的变量。当我使用 OBJECT 数据类型以外的任何其他数据类型作为变量时,我得到如下错误
Error: ForEach Variable Mapping number 3 to variable "User::EMPID" cannot be applied.
然后我在我的执行 SQL 任务中使用了对象类型的变量,它成功地插入了数据,没有任何错误。
经验法则:映射记录将目标输出设置为 OBJECT 类型的变量。
我知道我很晚才回复这个帖子,下面的解释是为了以后看到这个的人。
我最近遇到了这种情况。我做了以下
首先是我的对象类型的记录集目标变量。使用 For Each Loop 容器,我将每一行数据(具有多列)映射到 OBJECT 类型的变量。当我使用 OBJECT 数据类型以外的任何其他数据类型作为变量时,我得到如下错误
Error: ForEach Variable Mapping number 3 to variable "User::EMPID" cannot be applied.
然后我在我的执行 SQL 任务中使用了对象类型的变量,它成功地插入了数据,没有任何错误。
Thumb Rule: Map Record Set Destination output to the variable of
OBJECT type.
我的 SSIS 包因错误而失败:
The type of the value being assigned to variable differs from the current variable type.
我在SQLtable中声明了一个string类型的变量,对应的列名是varchar(33)。如果我将数据类型用作对象,它会成功,但我又需要在连接字符串的表达式中使用变量值,并且不支持对象类型。
请帮助我如何进行。
注意:我的 SSIS 包的目标是从 table(这是它失败的地方)获取服务器列表,并在所有服务器中使用 foreach 循环容器执行一些脚本。
如果我没看错你的问题,你实际需要的是两个变量:一个是从你的 SQL table 接收数据的对象变量,一个是字符串值您将传递给您的 ForEach 循环。
它们之间的区别在于您的 Object 变量可以保存多行,而您的 String 值一次只能保存一个项目。您要做的是声明一个 Object 变量,用服务器列表填充它,然后使用 ForEach 循环遍历列表中的每个项目,一次将一个值提供给您的 String 变量。然后您将使用 String 变量来设置您提到的脚本,并在每个服务器上执行一次。
要进一步阅读,有一个很好的演练 here,它会为您提供我正在谈论的内容的屏幕截图和示例。
最近遇到这种情况。我做了以下
首先是我的对象类型的记录集目标变量。 使用 For Each Loop 容器,我将每一行数据(具有多列)映射到 OBJECT 类型的变量。当我使用 OBJECT 数据类型以外的任何其他数据类型作为变量时,我得到如下错误
Error: ForEach Variable Mapping number 3 to variable "User::EMPID" cannot be applied.
然后我在我的执行 SQL 任务中使用了对象类型的变量,它成功地插入了数据,没有任何错误。
经验法则:映射记录将目标输出设置为 OBJECT 类型的变量。
我知道我很晚才回复这个帖子,下面的解释是为了以后看到这个的人。 我最近遇到了这种情况。我做了以下
首先是我的对象类型的记录集目标变量。使用 For Each Loop 容器,我将每一行数据(具有多列)映射到 OBJECT 类型的变量。当我使用 OBJECT 数据类型以外的任何其他数据类型作为变量时,我得到如下错误
Error: ForEach Variable Mapping number 3 to variable "User::EMPID" cannot be applied.
然后我在我的执行 SQL 任务中使用了对象类型的变量,它成功地插入了数据,没有任何错误。
Thumb Rule: Map Record Set Destination output to the variable of OBJECT type.