0

У меня проблема с Azure Data Factory и сохраненной процедурой.Завод данных и хранимых процедур Azure

Я установил SP в качестве поглотителя входных данных:

"sink": { 
         "type": "SqlSink", 
       "sqlWriterStoredProcedureName": "spAddProducts", 
        "storedProcedureParameters": { 
         "stringProductData": { 
          "value": "str1" 
         } 
        }, 

и после выполнения я должен обработать около 200к записей, но после некоторого ограниченного числа обработанных строк (около 10к), я ве получил ошибку:

Copy activity met invalid parameters: 
ErrorCode=InvalidParameter,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, 
Message=The value of the property '' is invalid: 'The SqlParameter is already contained by another 
SqlParameterCollection.'.,Source=,''Type=System.ArgumentException, 
Message=The SqlParameter is already contained by another SqlParameterCollection.,Source=System.Data,'. 

SP код:

CREATE PROCEDURE spAddProducts @DimProducts [dbo].[ProductsType] READONLY, @stringProductData varchar(256) 
AS 
BEGIN 

MERGE [dbo].[DimProducts] AS tpr 
    USING @DimProducts AS spr 
    ON tpr.ID = spr.ID 
WHEN MATCHED AND (tpr.Name <> spr.Name OR tpr.NameInternational <> spr.NameInternational OR tpr.ProductType <> spr.ProductType) THEN 
    UPDATE SET tpr.Name = spr.Name, tpr.NameInternational = spr.NameInternational, tpr.ProductType = spr.ProductType 
WHEN NOT MATCHED THEN 
    INSERT (Name, NameInternational, ProductType, ID) 
    VALUES(spr.Name, spr.NameInternational, spr.ProductType, spr.ID) 
; 
END 
+0

Я заметил, что ваш сохраненный proc не является пользователем второго параметра stringProductData. Это необходимо? – AlvinfromDiaspar

ответ

1

Я из команды продукта. Мы определили проблему, и исправление было развернуто на прошлой неделе. Спасибо за сообщение о дефекте.

+0

Можно запустить хранимую процедуру с помощью АПД. Я получаю 'Error Number '156'. Сообщение об ошибке из выполнения базы данных: неправильный синтаксис рядом с ключевым словом «select». Должен объявить переменную таблицы «@a» .'. Используется тот же подход. – Ajay

+0

Я использую операцию добавления слияния else else в процедуру хранения и использую пользовательский тип таблицы ... Любая помощь ???? – Ajay

+0

PLS найти информацию в http://stackoverflow.com/questions/41569145/call-stored-procedure-using-adf – Ajay

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