2017-01-26 2 views
1

Я хотел бы знать, нормальное поведение SQL Server (на Azure). Мой SQL-запрос возвращает JSON, используя ДЛЯ JSON PATH и вложенные запросы. Моя проблема в том, что кажется, что в зависимости от длины результирующего JSON результат разделяется на несколько строк.Результат Sql Server JSON разделен на несколько строк

Это проблема, поскольку количество строк может меняться в зависимости от данных. Я также должен был бы объединить все строки вместе вручную, чтобы иметь действительный JSON.

Обходной путь заключается в том, чтобы вывести полученный JSON в переменную и выбрать его после руки. Это приводит к одной строке и столбцу (поэтому я знаю, что это не проблема с максимальной длиной).

Это нормальное поведение или есть проблема с моим запросом?

ответ

0

Sql Server разбивает результаты запроса FOR JSON на фрагмент ~ 2KB, поэтому вы должны либо объединить фрагменты, как на MSDN page, либо вы можете передавать результаты в некоторый поток вывода.

Здесь вы можете найти реализацию API ASP.NET ядра REST, где результаты SQL запрос с FOR JSON в потоковом режиме в теле ответа: https://www.codeproject.com/Articles/1106622/Building-REST-services-with-ASP-NET-Core-Web-API-a

Смежные вопросы