解决方法:
作为实现此功能的解决方法,我们可以使用 Lookup Activity 作为替代方案。我们可以执行存储过程——以及捕获输出的灵活性,如下所示。
注意:如果要从 storedproc 捕获的输出是单行而不是多行,则此解决方案/解决方法很有帮助。`带有输出参数的查找活动:
{
"name": "Test_Lookup",
"type": "Lookup",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false
},
"typeProperties": {
"source": {
"type": "SqlSource",
"sqlReaderStoredProcedureName": "[dbo].[sp_testproc]",
"storedProcedureParameters": {
"TEST": {
"type": "Int32",
"value": "1"
}
}
},
"dataset": {
"referenceName": "AzureDBDataset",
"type": "DatasetReference"
}
}
}
Lookup Activity without output parameter
{
"name": "Test_Lookup",
"type": "Lookup",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false
},
"typeProperties": {
"source": {
"type": "SqlSource",
"sqlReaderStoredProcedureName": "[dbo].[sp_testproc]"
},
"dataset": {
"referenceName": "AzureDBDataset",
"type": "DatasetReference"
}
}
}
现在让我们在动态内容中使用下面的代码来访问创建的存储过程的输出值
动态表达式 - @activity('Test_Lookup').output.firstRow.TEST
Azure 数据工厂中带有输出参数的存储过程http://naveensql23.blogspot.com/2018/07/stored-procedures-with-output.html