SQL Server中将数据导出为XML和Json方法分享

有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP。

 数据导出为XML

在SQL Server 2005之后提供了一个for xml子句在关系数据库中原生支持XML。通过该命令可以将二维关系结果集转换为XML,通过BCP就可以将数据存为XML了。

例如下面的数据:

我们可以通过如下BCP命令(注意不能有回车)将其导出为XML文件,并保存:

代码如下:

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

执行完成后查看Test.XML文件,如下图所示。可以看到文件格式非常清晰,很容易就可以导入到其他系统了。

 数据导出为JSON

如果希望将SQL Server中数据导出为Json,虽然这种操作在应用程序里已经有非常成熟的方法,但SQL Server其实并没有原生支持这种方式(小道消息,下个版本会支持)。我推荐使用这篇帖子的方式:http://www.jb51.net/article/61462.htm来做。将该帖子所提供的存储过程建立完成后,使用如下BCP命令:

执行完成后,得到结果如下图:

(0)

相关推荐

  • 在SQL Server中将数据导出为XML和Json的方法

    有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP. 数据导出为XML 在SQL Server 2005之后提供了一个for xml子句在关系数据库中原生支持XML.通过该命令可以将二维关系结果集转换为XML,通过BCP就可以将数据存为XML了. 例如下面的数据: 我们可以通过

  • SqlServer将查询结果转换为XML和JSON

    很久之前用到的,现在整理在这,里面一些代码来源于网上,不过有些bug已被我修改了. 1.查询结果转XML DECLARE @ParameterSQL NVARCHAR(MAX)='SELECT * FROM table'; DECLARE @SQL NVARCHAR(MAX) DECLARE @XMLString VARCHAR(MAX) DECLARE @XML XML DECLARE @Paramlist NVARCHAR(1000) SET @Paramlist = N'@XML XML

  • SQL SERVER 将XML变量转为JSON文本

    废话不多说了,直接给大家贴代码了. -- create function create function [dbo].[fnXmlToJson] (@XmlData xml) returns nvarchar(max) as begin return (select stuff( (select * from (select ',{'+ stuff( (select ',"'+ coalesce(b.c.value('local-name(.)', 'NVARCHAR(MAX)'),'')+'&

  • php 备份数据库代码(生成word,excel,json,xml,sql)

    单表备份代码: 复制代码 代码如下: <?php    class Db    {        var $conn; function Db($host="localhost",$user="root",$pass="root",$db="test")        {          if(!$this->conn=mysql_connect($host,$user,$pass))          die(

  • 实现SQL Server 原生数据从XML生成JSON数据的实例代码

    实现SQL Server 原生数据从XML生成JSON数据的实例代码 SQL Server 是关系数据库,查询结果通常都是数据集,但是在一些特殊需求下,我们需要XML数据,最近这些年,JSON作为WebAPI常用的交换数据格式,那么数据库如何生成JSON数据呢?今天就写了一个DEMO.        1.创建表及测试数据 SET NOCOUNT ON IF OBJECT_ID('STATS') IS NOT NULL DROP TABLE STATS IF OBJECT_ID('STATIONS

  • SQL Server中将数据导出为XML和Json方法分享

    有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP.  数据导出为XML 在SQL Server 2005之后提供了一个for xml子句在关系数据库中原生支持XML.通过该命令可以将二维关系结果集转换为XML,通过BCP就可以将数据存为XML了. 例如下面的数据: 我们可以通

  • SQL Server查询结果导出到EXCEL表格的图文教程

    需求: 将查询的两列数据导出到excel中 1.选择数据库,右键任务→导出数据,打开导入导出向导,单击下一步 2.在打开的SQL Server导入和导出的向导中,选择服务器名称.代表本机,身份验证使用SQL Server身份验证,输入用户名,密码,选择数据库,单击下一步 3.选择目标为Mircosoft Excel,选择Excel需要保存的路径,单击下一步 4.选择编写查询以指定要传输的数据,单击下一步 5.复制SQL语句到对话框中,单击下一步 6.可以编辑映射,查看预览,剩余的一直下一步,直至

  • SQL Server中数据行批量插入脚本的存储实现

    无意中看到朋友写的一篇文章"将表里的数据批量生成INSERT语句的存储过程的实现".我仔细看文中的两个存储代码,自我感觉两个都不太满意,都是生成的单行模式的插入,数据行稍微大些性能会受影响的.所在公司本来就存在第二个版本的类似实现,但是是基于多行模式的,还是需要手工添加UNAION ALL来满足多行模式的插入.看到这篇博文和基于公司数据行批量脚本的存储的缺点,这次改写和增强该存储的功能. 本存储运行于SQL Server 2005或以上版本,T-SQL代码如下: IF OBJECT_I

  • 碎片拼接技术恢复XenServer服务器SQL Server数据库数据

    目录 1.数据恢复方案一 2.数据恢复方案二 ​环境:​ Dell PowerEdge服务器: XenServer虚拟化平台: 4块希捷2T STAT硬盘用RAID卡组成的RAID10: XenServer虚拟机操作系统:Windows Server系统: 虚拟机磁盘:1个10G系统盘和1个5G数据盘,部署的Web服务器(ASP +SQL). ​故障:​ 服务器突然断电导致服务器中一台XenServer虚拟机不可用,虚拟磁盘文件丢失,服务器管理员联系北亚数据恢复中心寻求帮助. ​故障检测和分析:

  • SQL Server修改数据的几种语句详解

    目录 一:INSERT语句 二:INSERT INTO SELECT语句 三:UPDATE语句 四:DELETE语句 总结 本篇主要讲解的是SQL Server 中修改数据的几种语句: INSERT语句 INSERT INTO SELECT语句 UPDATE语句 DELETE语句 一:INSERT语句 INSERT语句向表中添加新行,以下是INSERT语句的最基本形式: 首先:table_name指定要插入的表的名称: 其次,column_list指定要在其中插入数据的一个或多个列的列表.必须将

  • SQL Server如何通过SQL语句直接操作另一台服务器上的SQL SERVER的数据

    SQL Server如何通过SQL语句直接操作另一个SQL SERVER的数据 1. 现在执行SQL语句的数据库服务器开启Ad Hoc Distributed Queries exec sp_configure 'showadvanced options',1 reconfigure exec sp_configure 'Ad HocDistributed Queries',1 reconfigure 2.通过openrowset(‘SQLOLEDB’,’另一个SQLSERVER数据库IP’;

  • SQL Server 2005降级到2000的正确操作步骤分享

    以下的文章主要向大家描述的是SQL Server 2005导入到SQL Server 2000的正确操作步骤,以及对其在实际操作中值得我们大家注意的相关事项的具体描述,以下就是文章的具体内容的介绍,望你会有所收获. SQL Server 2005转到2000的步骤: 1. 生成for SQL Server 2000版本的数据库脚本 SQL Server 2005 的manger studio 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 右键要转到SQL Server 2

  • Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法

    本文实例讲述了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法.分享给大家供大家参考.具体实现方法如下: # Export Oracle database tables to CSV files # FB36 - 201007117 import sys import csv import cx_Oracle connection = raw_input("Enter Oracle DB connection (uid/pwd@database) : "

随机推荐