You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure SQL调用sp_invoke_external_rest_endpoint时JSON解析错误求助

Azure SQL调用sp_invoke_external_rest_endpoint报Msg 11558错误的解决方法

你遇到的Msg 11558错误,核心原因是请求头参数@headers的JSON格式不合法——你用了HTML转义符"来表示双引号,但SQL的sp_invoke_external_rest_endpoint要求传入标准JSON字符串,这种HTML转义会被当成普通字符,导致JSON解析失败。

直接修正方案

把@headers中的"替换为原生双引号,保持JSON的标准格式即可:

DECLARE
    @url nvarchar(4000) = 'https://ifconfig.me/all.json'--替换为你的Azure Function HTTP GET端点
    ,@headers nvarchar(max) = N'{"x-functions-key":"keygoeshere"}'
    ,@payload nvarchar(max) = NULL
    ,@ret int
    ,@response nvarchar(max)
    ;

exec @ret = sp_invoke_external_rest_endpoint 
    @url = @url,
    @method = 'GET',
    @headers = @headers,
    @payload = @payload,
    @response = @response output;
    
select @ret as ReturnCode, @response as Response;

额外排查点(若修正后仍报错)

  • 确认目标端点返回严格合法的JSON:即使状态码为200,也要检查响应内容是否有多余空格、BOM头或非JSON格式字符(比如额外换行、注释)。
  • 确保会话SQL设置正确:执行SET ANSI_NULLS ON; SET QUOTED_IDENTIFIER ON;后重试,这两个设置是SQL处理JSON的默认要求,若被修改可能导致解析异常。

内容的提问来源于stack exchange,提问作者OzBob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:02:23