我有一个SSIS包,执行时会出现以下错误:
错误:0xC002F210在执行SQL任务1,执行SQL任务:执行查询"将@POID声明为Varchar(50) 设置@POID = 636268 ..."失败并出现以下错误:"无法为单行结果类型填充结果列。查询返回一个空结果集。"。可能的失败原因:查询问题," ResultSet"属性设置不正确,参数设置不正确或连接未正确建立。 任务失败:执行SQL任务1
该软件包具有单个执行SQL任务,其属性如下所示:
常规属性 结果集:单行
ConnectionType:OLEDB 连接:已连接到服务器 SQLSourceType:直接输入 SQL语句:
Declare @POID as Varchar(50)
Set @POID = 0
SELECT DISTINCT BizTalk_POA_HEADER.PONUMBER, FAN_Suppliers.SupplierName, FAN_Company_Details.CompanyName, FAN_Company_Details.[PrimaryEmail], BizTalk_POA_HEADER.[DeliveryDate]
FROM BizTalk_POA_HEADER
INNER JOIN FAN_PO_Details ON BizTalk_POA_HEADER.PONUMBER = FAN_PO_Details.PoNumber
INNER JOIN FAN_PO ON FAN_PO_Details.PurchaseOrderID = FAN_PO.PurchaseOrderID
INNER JOIN FAN_SupplierDetails ON FAN_PO.SupplierDetailsID = FAN_SupplierDetails.SuppliersDetailsID
INNER JOIN FAN_Suppliers ON FAN_SupplierDetails.SupplierID = FAN_Suppliers.SupplierID
INNER JOIN FAN_Company_Details ON FAN_PO.CompanyID = FAN_Company_Details.CompanyDetailsID
WHERE (BizTalk_POA_HEADER.PONUMBER = @POID)**
IsQueryStorePro:错误 BypassPrepare:False
参数映射属性
无
结果集
ResultName变量名称
0用户:PONUMBER
1位用户:StoreName
2用户:StoreEmail
3用户:供应商
4用户:DeliveryDate
如果有人可以通过建议解决问题的方法来帮助我解决这个问题,我将不胜感激。
然后我将查询更改为以下内容,因为上面显示了SSMS中的转换错误,当我尝试在执行SQL任务中包含以下内容时,查询是否已保存,无论如何?
SELECT DISTINCT BizTalk_POA_HEADER.PONUMBER,FAN_Suppliers.SupplierName, FAN_Company_Details.CompanyName,
FAN_Company_Details.[PrimaryEmail], BizTalk_POA_HEADER.[DeliveryDate]
FROM BizTalk_POA_HEADER INNER JOIN
FAN_PO_Details ON CAST(BizTalk_POA_HEADER.PONUMBER AS VARCHAR(128)) = CAST(FAN_PO_Details.PoNumber AS VARCHAR(128)) INNER JOIN
FAN_PO ON FAN_PO_Details.PurchaseOrderID = FAN_PO.PurchaseOrderID INNER JOIN
FAN_SupplierDetails ON FAN_PO.SupplierDetailsID = FAN_SupplierDetails.SuppliersDetailsID INNER JOIN
FAN_Suppliers ON FAN_SupplierDetails.SupplierID = FAN_Suppliers.SupplierID INNER JOIN
FAN_Company_Details ON FAN_PO.CompanyID = FAN_Company_Details.CompanyDetailsID
先谢谢。
答案 0 :(得分:1)
如果从查询中返回0条记录并且您正在尝试填充结果集,那么您将获得该错误。更改您的查询,以便它始终返回单个结果,错误将消失。