【问题标题】:write complete JSON to file system in SQL server将完整的 JSON 写入 SQL Server 中的文件系统
【发布时间】:2019-12-05 10:58:55
【问题描述】:

我正在使用:

FOR JSON PATH

将我的 sql 结果集转换为 JSON 可以正常工作。如何将完整的文本写入文件系统(我正在使用 SSMS 并选择查询 -> 结果到 -> 结果到文件)?目前,数据已截止。我想我可以在 sql server management studio 中设置一些属性?谢谢。

【问题讨论】:

  • 存在“截止”是什么意思?您是从 SSMS 复制和粘贴的吗,其中单元格中显示的字符数有限制(大约 65,000~ 如果您更改默认设置)?如果你想导出数据,你应该查看一个 ETL 过程,或者bcp、sqlcmd 或其他东西。
  • 截止到我将结果写入文件系统而不是网格时。我不是从网格复制...
  • 那么你是如何将它们写入文件系统的呢?在你的问题中解释这一点。如果您不告诉我们您在做什么,我们无法解释为什么数据会被“切断”,
  • 选择查询 -> 结果到 -> 结果到文件 - 让你更清楚我认为这很明显,因为我纯粹使用 SSMS
  • Options->Tools->Query Results->SQL Server->Results to Grid->Results to Grid->Non XML Data中有设置改变返回的总长度(最大值是 65535),但如果您需要更大的值,那么我在评论中所说的仍然是正确的。

标签: sql-server ssms sql-server-2017


【解决方案1】:

希望你在下面提问

如上所述here

我也使用 XML,但 a slightly different method 可以解决 XML 实体化的大部分问题。

declare @VeryLongText nvarchar(max) = '';

SELECT top 100 @VeryLongText = @VeryLongText + '

' + OBJECT_DEFINITION(object_id) 
FROM sys.all_objects 
WHERE type='P' and is_ms_shipped=1

SELECT LEN(@VeryLongText)

SELECT @VeryLongText AS [processing-instruction(x)] FOR XML PATH('')

PRINT @VeryLongText /*WILL be truncated*/

确保 SSMS 中的“XML 数据”限制设置得足够高!

【讨论】:

  • 这完成了工作。谢谢!我知道有一些财产。
猜你喜欢
  • 1970-01-01
  • 2021-12-16
  • 2017-12-16
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 2020-02-17
相关资源
最近更新 更多