Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL SERVER将Json导出到文件_Json_Sql Server_Tsql_Bcp - Fatal编程技术网

SQL SERVER将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,

我想将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,所以这里没什么要告诉你的

    重要的是要知道: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'