SQL 服务器导出 Json 到文件

SQL SERVER Export Json to File

我想从 sql 服务器结果 json 导出到 'json file'。

示例:

SELECT * FROM SYS.all_columns FOR JSON AUTO

我知道一种使用命令 "BCP" 执行此操作的方法。

诚邀您分享不同的导出方式'Json File From Sql Server.'

(您可以在这里观看转换示例:

  1. 使系统管理员能够控制 xp_cmdshell.
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
EXEC sp_configure 'xp_cmdshell', 1;  
GO  
RECONFIGURE;  
GO
  1. 使用 bcp 执行您的查询:
EXEC sys.XP_CMDSHELL 'bcp "SELECT * FROM SYS.all_columns FOR JSON AUTO;" queryout C:\Data\JsonTest.json -t, -c -S . -d master -T'

评论太多了,但只有一半的答案...

你知道 BCP,所以这里没什么可告诉你的...

重要提示:SQL- 服务器对文件系统的访问非常有限。它不是 运行 作为用户 运行 的脚本。它在机器的上下文中是 运行,其中 SQL-服务器是 运行:所以像 c:\temp\SomeFile.json 这样的文件目标可能不会进入您的所谓目录中机器。共享驱动器上某处的目标可能因访问冲突而失败。

使用外部工具(power shell 或您选择的任何编程语言)连接到数据库并调用结果以存储它可能更灵活。

如果您需要从 SQL-Server 中触发此操作,您可以使用 xp_cmdshell 执行此类外部程序(就像使用 BCP.[=13 执行此操作一样) =]

我建议创建一个 VIEW、UDF 或 SP 以 return 在一次调用中满足您的任何需求(使用一些参数)。这将允许您从 SQL-Server 中控制内容 ,但在外部执行检索和存储。

希望这对您有所帮助...