У меня проблема с 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
Я заметил, что ваш сохраненный proc не является пользователем второго параметра stringProductData. Это необходимо? – AlvinfromDiaspar