首页 文章

SSIS执行SQL任务错误

提问于
浏览
1

我有一个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 回答

  • 1

    如果从查询中返回0条记录并且您正在尝试填充结果集,那么您将获得该错误 . 更改您的查询,以便它始终返回单个结果,错误将消失 .

相关问题