如何在 C# 中运行 SQL 过程时获得很长的结果?

问题描述 投票:0回答:1

我试图将一个长 JSON 从过程中获取到 C# 中的 STRING 中,但 JSON 在第 255 个字节的中间被截断。 我很乐意收到有关如何完美接收 JSON 的建议。

我尝试通过运行 SQL 过程来获取结果,该过程将长 JSON 返回到字符串中。

我的代码:

 var selectQuery = $"exec [dbo].[GetOrderStatus] '{order}' ";

                SAPbobsCOM.Recordset ss = SAPConnection.GetInstance().Recordset;
                ss.DoQuery(selectQuery);
                if (ss.EoF) { return new ResponseData() { Status = StatusE.GanericError, ErrorMessage = $"Error in exec proc, {selectQuery}" }; }
                dynamic  jsonResult = (ss.Fields.Item(0).Value);
if (!string.IsNullOrEmpty(jsonResult))
                {
                    return new ResponseData() { Status = StatusE.succsed, ErrorMessage = "" , ValueResult =jsonResult};
                }
c# json string sap sap-business-one-di-api
1个回答
0
投票

错误似乎出在您的 SP(存储过程)中。

Json被截断为255个字符的原因可能是你从SP返回的变量类型无效造成的,这可能是

VARCHAR

VARCHAR
类型的默认限制为 255 个字符,这会导致 json 被截断。

尝试使用

NVARCHAR(MAX)
来代替。

© www.soinside.com 2019 - 2024. All rights reserved.