我有一个简单的存储过程,它返回包含3列的1行。我正在尝试创建一个SSIS包,以后再重用这些列中的值。如果我运行一个简单的选择查询,一切都很高兴,但是当我运行存储过程时,我收到以下错误:
[执行SQL任务]错误:执行查询“rs_UpdateMemberExtract” 失败,出现以下错误:“无法填充结果列 对于单行结果类型。查询返回一个空结果集。“ 可能的失败原因:查询问题,“ResultSet” 属性设置不正确,参数设置不正确,或 连接未正确建立。
我已经设置了一个ado.net连接并且在SSMS中正确运行了proc,我的任务设置如下:
ConnectionType: ADO.NET
Connection: ServerName.connectionName
SQLSourceType: Direct Input
SQLstatment: Name of Proc (rs_UpdateMemberExtract)
IsQueryStoredProcedure: True
我将每个参数映射到变量,并将方向设置为Output
我有应该在结果集中返回并映射到关联变量的每列的名称。
如果我将ResultSet设置为'None',
,则该任务有效任何想法我错过了什么?
由于
答案 0 :(得分:0)
如果SQL任务编辑器期望连续返回结果...但是没有要返回的记录,则以下SQL使用空格填充空返回值。注意:如果期望数字“返回行”,也可以用于返回零
SELECT '' + ISNULL ((SELECT x FROM y WHERE (z = ?)), '') AS myfield