Я имею пакет 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
Спасибо заранее.
И этот запрос возвращает результат в ssms? Сколько строк возвращается? также только тег, который использует версию ssis не как 2008, так и 2012. – Matt
Привет, Мэтт, я не уверен в SSMS. Возвращаемые строки равны 0. Я использую SSIS 2008. – Shivang
Что должна делать эта задача, если никаких записей не было возвращено - ничего?Что делать, если возвращаются 2 записи? Вы могли бы, например, заранее использовать задачу SQL для подсчета записей и на основе подсчета выполнить несколько разных рабочих процессов. –