SQL SERVER将Json导出到文件
我想将sql server结果json导出到“json文件” 例如:SQL SERVER将Json导出到文件,json,sql-server,tsql,bcp,Json,Sql Server,Tsql,Bcp,我想将sql server结果json导出到“json文件” 例如: SELECT * FROM SYS.all_columns FOR JSON AUTO 我知道使用“BCP”命令执行此操作的一种方法 我们邀请您分享从Sql Server导出Json文件的不同方式。 (您可以在此处观看的示例:) 使系统管理员能够控制xp\u cmdshell是否运行 使用bcp执行查询: 使系统管理员能够控制xp\u cmdshell是否运行 使用bcp执行查询: 我想说很多,但只有半个答案 你知道BCP,
SELECT * FROM SYS.all_columns FOR JSON AUTO
我知道使用“BCP”命令执行此操作的一种方法
我们邀请您分享从Sql Server导出Json文件的不同方式。
(您可以在此处观看的示例:)
我想说很多,但只有半个答案 你知道BCP,所以这里没什么要告诉你的 重要的是要知道:SQL Server对文件系统的访问非常有限。它没有以运行脚本的用户身份运行。它是在运行SQL Server的机器的上下文中运行的:因此像
c:\temp\SomeFile.json这样的文件目标可能不会进入机器上的所谓目录。共享驱动器上某处的目标可能会因访问冲突而失败
使用外部工具(powershell或您选择的任何编程语言)连接到数据库并调用结果以存储它可能更灵活
如果需要从SQL Server内部触发此操作,可以使用xp\u cmdshell
(就像使用BCP
执行此操作一样)
我建议创建一个视图、一个UDF或一个SP,以便在一次调用中返回您需要的任何内容(带有一些参数)。这将允许您从SQL Server内部控制内容,但从外部执行检索和存储
希望这有助于…发表评论,但只有半个答案
你知道BCP,所以这里没什么要告诉你的
重要的是要知道:SQL Server对文件系统的访问非常有限。它不是以运行脚本的用户的身份运行的。它是在SQL Server正在运行的计算机的上下文中运行的:因此像c:\temp\SomeFile.json
这样的文件目标可能不会进入您计算机上的所谓目录中。目标可能是共享驱动器上的位置可能因访问冲突而失败
使用外部工具(powershell或您选择的任何编程语言)连接到数据库并调用结果以存储它可能更灵活
如果需要从SQL Server内部触发此操作,可以使用xp\u cmdshell
(就像使用BCP
执行此操作一样)
我建议创建一个视图、一个UDF或一个SP,以便在一次调用中返回您需要的任何内容(带有一些参数)。这将允许您从SQL Server内部控制内容,但从外部执行检索和存储
希望这有助于…基本上与任何其他选择文件的方法相同。基本上与任何其他选择文件的方法相同。
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'