zoukankan      html  css  js  c++  java
  • Sqlserver:从XML文件中读取配置信息

    如何在Sqlserver中从外部XML文件中读取配置信息呢?该问题源自一家企业的笔试信息有感。

    一xml文件内容:

    <?xml version="1.0" encoding="utf-8"?>
    <root>
      <db name="ClientDB1" datasize="512MB" datagrowth="100MB" logsize="100MB" loggrowth ="50MB">
      </db>
      <db name="ClientDB2" datasize="1536MB" datagrowth="200MB" logsize="100MB" loggrowth ="100MB">
      </db>
      <db name="ClientDBN" datasize="1024MB" datagrowth="200MB" logsize="100MB" loggrowth ="80MB">
      </db>
    </root>

    脚本:

    declare @x xml
    declare @hdocid int


    /*从外部文件读取文件内容

    有很多种方式:

    xp_cmdshell 调用操作系统的显式文本文件内容的扩展存储过程。

    bcp.exe 导入导出工具

    openrowset读入文本文件内容(sql2005得到增强)

    bulk insert语句

    */

    select @x=bulkcolumn
    from openrowset(bulk 'c:\db_conifig.xml',SINGLE_CLOB ) as t  --sqlserver2005的增强bulk语法

     

    --解析成xml树形文档在内存中

    exec sp_xml_preparedocument @hdocid output,@x
     

    --sqlserver解析成结果集的形式,便于使用。或者直接利用xml类型的方法解析!

    select *
    from openxml(@hdocid,'/root/db') with (name varchar(50),datasize varchar(50),datagrowth varchar(50),logsize varchar(50),loggrowth varchar(50))

  • 相关阅读:
    拯救公主
    爱情之路
    无聊的会议
    对拍检验程序
    TCP三次握手
    OA系统走过的的坑之部门岗位管理
    蓝屏警告
    三级联动
    Ajax二级联动
    近期疑惑和总结
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1613654.html
Copyright © 2011-2022 走看看