问题描述
使用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
解决方法
数据流支持
UDF,但SP不支持
,某些分析系统不喜欢execute和dbo。 尝试将execute更改为exec和/或删除dbo。从sp 例如。执行sp_ReplicaGetChanges