我有一个SSIS包,执行时会出现以下错误:
Error: 0xC002F210 at Execute SQL Task 1, Execute SQL Task: Executing the query "Declare @POID as Varchar(50) Set @POID = 636268 ..." failed with the following error: "Unable to populate result columns for single row result type. The query returned an empty result set.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. Task failed: Execute SQL Task 1
该包具有单个执行SQL任务,其属性如下所示:
General Properties 结果集:单行
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 : False BypassPrepare : False
Parameter Mapping Properties
没有
ResultSet
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
提前致谢 .
1 回答
如果从查询中返回0条记录并且您正在尝试填充结果集,那么您将获得该错误 . 更改您的查询,以便它始终返回单个结果,错误将消失 .