2016-08-23 4 views
0

Я имею пакет SSIS, который дает следующее сообщение об ошибке при выполнении:SSIS Выполнение SQL Task ошибка

Ошибка: 0xC002F210 в Execute SQL Task 1, Execute SQL Task: Выполнение запроса «Объявить @POID в Varchar (50) Set @POID = 636268 ... "не удалось со следующей ошибкой:« Невозможно заполнить столбцы результатов для типа результата с одной строкой. Запрос вернул пустой набор результатов ». Возможные причины сбоя: проблемы с запросом, свойство ResultSet неправильно установлены, параметры не установлены правильно или соединение установлено неправильно. Задача не удалось: Execute SQL Task 1

Пакет имеет один Execute SQL задачи со свойствами, перечисленных ниже:

Общие свойства Результат Набор: Single Row

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: Ложные

Отображение параметров Свойства

None

ResultSet

ResultName Имя переменной

0 Пользователь: PONUMBER

1 Пользователь: StoreName

2 Пользователь: StoreEmail

3 Пользователь: Поставщик

4 Пользователь: DeliveryDate

Я был бы признателен, если кто-нибудь может помочь мне этой проблемы, предлагая, где проблема.

Затем я изменил свой запрос на следующее, так как в предыдущем примере была показана ошибка преобразования в SSMS, когда я пытаюсь включить ниже в Execute SQL Task, запрос не сохраняется, по какой-либо причине?

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

И этот запрос возвращает результат в ssms? Сколько строк возвращается? также только тег, который использует версию ssis не как 2008, так и 2012. – Matt

+0

Привет, Мэтт, я не уверен в SSMS. Возвращаемые строки равны 0. Я использую SSIS 2008. – Shivang

+0

Что должна делать эта задача, если никаких записей не было возвращено - ничего?Что делать, если возвращаются 2 записи? Вы могли бы, например, заранее использовать задачу SQL для подсчета записей и на основе подсчета выполнить несколько разных рабочих процессов. –

ответ

0

Если из вашего запроса возвращено 0 записей, и вы пытаетесь заполнить набор результатов, то вы получите ошибку. Измените свой запрос, чтобы он всегда возвращал один результат, и ошибка исчезнет.

+0

Я не могу это исправить! Не могли бы вы помочь мне ? спасибо – Shivang

+1

Без доступа к вашей базе данных, объяснения вашей бизнес-логики и зарплаты, я не могу сказать вам, как перезаписать ваш запрос, чтобы вернуть единую запись во всех случаях. Если вы установите ResultSet для Execute SQL Task в «Single Row», и ваш запрос вернет 0 записей, вы получите сообщение об ошибке. – btberry

Смежные вопросы