萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> 在SQL Server中將數據導出為XML和Json的方法

在SQL Server中將數據導出為XML和Json的方法

 有時候需要一次性將SQL Server中的數據導出給其他部門的也許進行關聯或分析,這種需求對於SSIS來說當然是非常簡單,但很多時候僅僅需要一次性導出這些數據而建立一個SSIS包就顯得小題大做,而SQL Server的導入導出工具其中BUG還是蠻多的,最簡單的辦法是BCP。

 

數據導出為XML

    在SQL Server 2005之後提供了一個for xml子句在關系數據庫中原生支持XML。通過該命令可以將二維關系結果集轉換為XML,通過BCP就可以將數據存為XML了。

    例如下面的數據:

在SQL Server中將數據導出為XML和Json的方法  三聯

 

    我們可以通過如下BCP命令(注意不能有回車)將其導出為XML文件,並保存:

 

BCP "SELECT TOP 30 [bom_no],[LEVEL] FROM [sqladmin].[dbo].[bom] FOR XML path,TYPE, ELEMENTS ,ROOT('RegionSales')" QUERYOUT "d:temptest.XML" -c -t -T -S localhost

 

 

    image

 

    執行完成後查看Test.XML文件,如下圖所示。可以看到文件格式非常清晰,很容易就可以導入到其他系統了。

image

 

數據導出為JSON

 

   如果希望將SQL Server中數據導出為Json,雖然這種操作在應用程序裡已經有非常成熟的方法,但SQL Server其實並沒有原生支持這種方式(小道消息,下個版本會支持)。我推薦使用這篇帖子的方式:http://jaminquimby.com/servers/95-sql/sql-2008/145-code-tsql-convert-query-to-json來做。將該帖子所提供的存儲過程建立完成後,使用如下BCP命令:

image

 

    執行完成後,得到結果如下圖:

image

copyright © 萬盛學電腦網 all rights reserved