存储过程中bcp生成的JSON文件存在问题。
列名称有回车符。所以Web服务器不理解JSON。
像这样:
1。 "leo_profit":-0.0748},{"ID":28977,"annual_profit":-0.84,"ttp":-455.8405,
2 "leo_profit":-0.0748},{"ID":28977,"annual_profit":-0.84,"ttp":-455.8405,
第一个是由SQL Server 2017的存储过程中的bcp生成的,如您所见,列名“ann”和“ual_profit”之间存在CR。 annual_profit
是列名。
第二个是Web服务器可以理解的JSON格式。
如何在存储过程中生成bcp而列名之间没有任何CR?
答案 0 :(得分:0)
DECLARE @command VARCHAR(1000)
SET @command = 'BCP "EXEC mdrcoin.dbo.SP_Get_ANNUAL_PROFIT_FOR_JSON " queryout "D:\inetpub\json\SP_Get_ANNUAL_PROFIT.json" -c -T -t "|" '
EXEC xp_cmdshell @command
bcp正在上面显示的存储过程中运行。
答案 1 :(得分:0)
SELECT TOP 7200
ID,
CAST(annual_profit AS DECIMAL(20,2)) AS annual_profit,
CAST(ttp AS DECIMAL(20,4)) AS ttp,
tr_year,
tr_month,
tr_day,
tr_hour,
tr_min,
CAST(btc AS DECIMAL(20,1)) AS btc,
CAST(cash_rate AS DECIMAL(20,4)) AS cash_rate,
CAST(leo_profit AS DECIMAL(20,4)) AS leo_profit
FROM [dbo].[Q_annual_profit_flow]
ORDER BY tr_date DESC
FOR JSON path
这是另一个名为SP_Get_ANNUAL_PROFIT_FOR_JSON