【问题标题】:How to run stored procedure in Azure Data Factory DataFlow SQL Server source如何在 Azure 数据工厂 DataFlow SQL Server 源中运行存储过程
【发布时间】:2020-08-11 02:05:58
【问题描述】:

使用 Azure SQL Server 源时,我使用查询选项并指定要运行的存储过程。当我在 Management Studio 中粘贴相同的代码时,它可以工作,但是当使用 Query 选项从 ADF 源执行时,它会因以下情况而出错。如何使用 Query 选项调用存储过程?

{"message":"at Source 'Source': com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'EXECUTE'.. Details:at Source 'Source': com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'EXECUTE'.","failureType":"UserError","target":"SyncData","errorCode":"DFExecutorUserError"}

这是我传递的从 SSMS 调用时有效的查询:

EXECUTE [dbo].[sp_ReplicaGetChanges] @ReplicaVersion = 0, @FirstTimeFlag = 1, @SourceSchema = 'dbo', @SourceTable = 'Brand', @UpdateColumns = NULL

【问题讨论】:

  • 我在我这边试了一下,得到了同样的错误。我认为它可能不支持。
  • 但是有些奇怪,我们可以在复制活动源查询操作中运行EXECUTE...语句,但在数据流源查询中却不能。

标签: azure-data-factory


【解决方案1】:

【讨论】:

  • 谢谢@Mark。您是否知道不支持该存储过程的原因?我们可以期待在未来看到这种支持吗?看起来很合理,因为 CopyActivity 和 LookupActivity 都支持过程。
  • 这是一个非常合理的问题。您是否愿意提交有关 User Voice 的建议,以便我们可以确定启用该功能的适当优先级?泰! feedback.azure.com/forums/270578-data-factory
  • 顺便说一句,马克 - 感谢您一直花时间回答我的大部分 ADF 问题。这是一个非常酷的平台,您对问题的回答非常棒。
【解决方案2】:

一些分析系统不喜欢 execute 和 dbo。 尝试将执行更改为 exec 和/或删除 dbo。从 sp 例如。执行 sp_ReplicaGetChanges

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-29
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2021-08-10
    相关资源
    最近更新 更多