我想从sql server结果json导出到“ json文件”。
示例:
SELECT * FROM SYS.all_columns FOR JSON AUTO
我知道一种使用命令“ BCP”执行此操作的方法。
邀请您共享不同的方法来从Sql Server导出“ Json文件”。
(转换示例,您可以在这里观看:convert table to Json)
答案 0 :(得分:2)
评论太多了,但答案只有一半...
您了解BCP,所以这里无话可说...
重要信息:SQL Server对文件系统的访问非常有限。它没有以运行脚本的用户身份运行。它在运行SQL Server的计算机上下文中运行:因此,c:\temp\SomeFile.json
之类的文件目标可能不会进入计算机的所谓目录中。共享驱动器上某处的目标可能会因访问冲突而失败。
使用外部工具(Power Shell或您选择的任何编程语言)连接数据库并调用结果以进行存储,可能会更加灵活。
如果需要在SQL Server中触发此操作,则可以使用xp_cmdshell
执行这样的外部程序(就像使用BCP
执行该操作一样。
我建议创建一个VIEW,UDF或SP以在单个调用中返回您需要的任何内容(带有一些参数)。这样,您就可以在SQL Server内控制内容,而在外部执行检索和存储。
希望这对您有帮助...
答案 1 :(得分:0)
EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXEC sp_configure 'xp_cmdshell', 1; GO RECONFIGURE; GO
EXEC sys.XP_CMDSHELL 'bcp "SELECT * FROM SYS.all_columns FOR JSON AUTO;" queryout C:\Data\JsonTest.json -t, -c -S . -d master -T'