您好我正在尝试从"执行SQL任务"返回一个ResultSet。在SSIS。 然后我尝试将结果保存在" ResultSet"变量。 我的查询在控制台中工作,我的连接正常。
这是我的查询 SELECT Src FROM [myDB]。[dbo]。[myTable] group by Src
Src是nvarchar(255)
当我执行任务时,我收到以下错误 [执行SQL任务]错误:执行查询" SELECT Src 来自[myDB]。[dbo]。[myTable ..."失败并出现以下错误:"分配给变量" User :: ResultSet"的值的类型(DBNull);与当前变量类型(String)不同。变量在执行期间可能不会更改类型。变量类型是严格的,但Object类型的变量除外。 &#34 ;.可能的失败原因:查询问题," ResultSet"属性设置不正确,参数设置不正确或连接未正确建立。 我还附加了任务设置的屏幕截图。
请帮忙。 ExecuteSQL Screen1
答案 0 :(得分:0)
In SSIS 2012,当源值来自返回空值的SQL查询时,您无法为String类型的变量分配空值。
我建议使用SSIS的派生列转换功能 您将使用SSIS ISNULL函数来检测NULL值 - 然后对其执行某些操作。
More info about Derived Column Transform
例如转换String列:
ISNULL([String-Column])? "没有价值" :[String-Column]