【问题标题】:How to save Data factory stored procedure output如何保存数据工厂存储过程输出
【发布时间】:2018-12-22 14:44:30
【问题描述】:

每当我在 ADFv2 中执行存储过程时,它都会给我一个输出

{
    "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (Australia Southeast)",
    "executionDuration": 34 
}

即使我在过程中设置了 2 个变量作为输出。有没有办法在 ADFv2 中映射存储过程的输出?到目前为止,我可以映射所有其他活动的输出,但不能映射存储过程。

【问题讨论】:

    标签: azure-data-factory azure-data-factory-2


    【解决方案1】:

    数据工厂 (v2) 中的存储过程调用不捕获结果数据集。因此,您不能使用存储过程活动来获取结果数据集并在下一个活动中引用它。 解决方法是使用查找活动来调用完全相同的存储过程,因为查找将从存储过程中获取结果数据集。用查找替换您的存储过程活动,它将起作用。

    【讨论】:

    • 确保在存储过程中添加一个 SELECT(而不是或在输出参数旁边)。这使得它可用于查找活动。 Detailsupvote
    【解决方案2】:

    您可以使用查找活动来获取结果。 请参考这篇文章。 https://social.msdn.microsoft.com/Forums/azure/en-US/82e84ec4-fc40-4bd3-b6d5-b742f3cd1a33/adf-v2-how-to-check-if-stored-procedure-output-is-empty?forum=AzureDataFactory

    Gagan 更新: 我没有获取 SP 的输出(现在在 ADFv2 中不可能),而是将输出存储在表中,然后将 lookup-foreach 应用于表以获取值。

    【讨论】:

    • 该链接显示“将您的存储过程引用为查找活动的源数据集”。据我所知,我需要在 ADFv2 中已有一个数据集才能在查找中使用它。我应该如何编辑该字段以获取存储过程的输出?而且我不想将proc的结果存储在表中。所以这是不可能的。
    • 好的。我认为 MSDN 的答案是假设存储过程用作复制活动的接收器,而不是存储过程活动。你能分享更多关于你的场景吗?如果您不想存储结果,为什么需要输出?
    • 我在 ADFv2 中进行增量加载,因此我必须更新表的一列,然后从表的水印列中检索日期时间值,这将是我将使用的 proc 的输出其上。这发生在存储过程中。
    • 我认为您必须存储该值。有分步教程。
    • 这是一个潜力巨大的工具,但我一次又一次地被缺少这样的功能所困扰。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 2021-10-08
    相关资源
    最近更新 更多