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

 更新时间:2015年02月10日 15:48:45   作者:宋沄剑  
这篇文章主要介绍了在SQL Server中将数据导出为XML和Json的方法,需要的朋友可以参考下

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

 

数据导出为XML

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

    例如下面的数据:

image

 

    我们可以通过如下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

 

    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

相关文章

  • 防御SQL注入的方法总结

    防御SQL注入的方法总结

    这篇文章主要讲解了防御SQL注入的方法,介绍了什么是注入,注入的原因是什么,以及如何防御,需要的朋友可以参考下
    2015-08-08
  • mssql SA帐号的改名和删除

    mssql SA帐号的改名和删除

    众所周知,在M$sql中有个绝对是网络安全中的隐患的帐号sa,系统管理员 (sa),默认情况下,它指派给固定服务器角色 sysadmin,并不能进行更改。这个sa一般情况下是既不可以更改名称,也不可以删除,呵呵,有点鸡肋的味道,弃置可惜,食之无味。装上sql2000之后,感觉怪怪的,放着这个后门在,始终都不放心,担心有一天被人破出密码,那偶的电脑不就完拉。可能你回说设个强壮点的密码,这个办法是可行,可不是长久之记,所谓斩草要除根,要是把sa给删拉就不用担心那些"黑客"暴力破解拉。
    2008-04-04
  • SQL Server中T-SQL 数据类型转换详解

    SQL Server中T-SQL 数据类型转换详解

    T-SQL提供了两个显示转换的函数:CAST函数和CONVERT函数。今天我们就来相信探讨下
    2018-02-02
  • SQL Server ltrim(rtrim()) 去不掉空格的原因分析

    SQL Server ltrim(rtrim()) 去不掉空格的原因分析

    这篇文章主要介绍了SQL Server ltrim(rtrim()) 去不掉空格的原因分析,原因主要是因为中间存在回车符或者换行符,所以要先将此符号替换掉,具体示例代码大家参考下本文
    2017-08-08
  • ADO.NET EF中的实体修改方法

    ADO.NET EF中的实体修改方法

    ADO.NET EF中的实体修改方法
    2010-08-08
  • sqlserver数据库中的表、字段sql语句

    sqlserver数据库中的表、字段sql语句

    在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。
    2010-06-06
  • SQL Server表空间碎片化回收的实现

    SQL Server表空间碎片化回收的实现

    本文主要介绍了SQL Server表空间碎片化回收的实现,文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • SQL 外链接操作小结 inner join   left join   right join

    SQL 外链接操作小结 inner join left join right join

    SQL 外链接操作小结 inner join left join right join...
    2006-11-11
  • Mybatis中处理特殊SQL处理逻辑解析

    Mybatis中处理特殊SQL处理逻辑解析

    这篇文章主要介绍了Mybatis中处理特殊SQL处理逻辑,在MyBatis中可能会有一些特殊的SQL需要去执行,一般就是模糊查询、批量删除、动态设置表名、添加功能获取自增的主键这几种,现在分别来进行说明,需要的朋友可以参考下
    2023-06-06
  • 分页的存储过程

    分页的存储过程

    分页的存储过程...
    2006-08-08

最新评论