如何在Azure Data Factory DataFlow SQL Server源代码中运行存储过程

问题描述

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

{"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

enter image description here

解决方法

数据流支持

UDF,但SP不支持

https://docs.microsoft.com/en-us/azure/data-factory/connector-azure-sql-database#source-transformation

,

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...