Это заставило его работать, но это выглядит скорее как обходное решение, чем как прямое решение, учитывая, что он вставлен в пустую таблицу. Если нет более прямого решения, это самый простой подход.
аюсь выполнить хранимую процедуру в Azure SQL DB из Azure DataFactory V2. Процедура выполнит некоторую вставку в разные таблицы с данными из плоской таблицы. Согласно сMS spcification для этого нужно иметь параметр Table-value, который связывает активность конвейера с процедурой и со всеми моделями. Есть ли способ определить набор данных и операцию копирования, чтобы он просто выполнял хранимую процедуру?
Jsons ниже взяты из шаблона руки:
DataSet:
{"type": "datasets",
"name": "AzureSQLProcedureDS",
"dependsOn": [
"[parameters('dataFactoryName')]",
"[parameters('destinationLinkedServiceName')]"
],
"apiVersion": "[variables('apiVersion')]",
"properties": {
"type": "AzureSqlTable",
"linkedServiceName": {
"referenceName": "[parameters('destinationLinkedServiceName')]",
"type": "LinkedServiceReference"
},
"typeProperties": {
"tableName": "storeProcedureExecutions"
}
}}
Activity:
{"name": "ExecuteHarmonizationProcedure",
"description": "Executes the procedure that Harmonizes the Data",
"type": "Copy",
"inputs": [
{
"referenceName": "[parameters('destinationDataSetName')]",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "AzureSQLProcedureDS",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SqlSink"
},
"sink": {
"type": "SqlSink",
//"SqlWriterTableType": "storeProcedureExecutionsType",
"SqlWriterStoredProcedureName": "@Pipeline().parameters.procedureName",
"storedProcedureParameters": {
"param1": {
"value": "call from adf"
}
}
}
}
}
Любая помощь будет принята с учетом того, что MS не предоставляет такой помощи по этому вопросу.