SSIS 无法在直接输入查询中使用 LIKE 分配给变量

SSIS Cannot assign to variable with LIKE in the direct input query

我有一个执行 SQL 任务,其中我执行以下直接输入:

select * from test
where FName like '%Alex%'

并将其分配给名为 User::NameSelected 的用户变量。

但是,当我 运行 查询时,出现以下错误:

[Execute SQL Task] Error: An error occurred while assigning a value to variable "NameSelected": "The type of the value (DBNull) being assigned to variable "User::NameSelected" differs from the current variable type (String). Variables may not change type during execution. Variable types are strict, except for variables of type Object.".

当我 运行 没有 LIKE 的查询时,它可以 return 单行。但我需要使用 LIKE 从查询中获取结果。

我可以通过直接输入查询来完成吗?

您必须将 ResultSet 类型从 Single Row 更改为 Full ResultSet,并将结果存储在类型 System.Object 的变量中。然后你应该使用脚本任务从变量中读取值。

有用的链接