zoukankan      html  css  js  c++  java
  • SQL Server 使用OpenXML 导入xml格式的数据

    declare @xmlText xml
    declare @club varchar(50)
    DECLARE @idoc int
      
    set @xmlText = (select doc from openrowset(bulk 'D:\RF_Integration\Code\Import\RF.Integration.Import.BusinessLogic\bin\Debug\ModifiedPackageFiles\golf_b6dd63fb30f84a9b941a9cdcbbacb30f_201209041607[007-004].xml',single_blob) as t(doc))  
    
    EXEC sp_xml_preparedocument @idoc OUTPUT,@xmlText
        
    set @club='golf'   
    
    insert into [dbo].Address_Temp([AddressType] ,[Country],[PostalCity] ,[PostalNumber],[Street],[CO_Address],[PersonID],[PersonNum],[PersonOptType]) 
                select [AddressType] ,[Country],[PostalCity] ,[PostalNumber],[Street],[CO_Address],[PersonID],[PersonalNumber] as [PersonNum],'Insert' as [PersonOptType]
                from openxml(@Idoc,'/persons/InsertRecord/Person/Addresses/Address',2)
                With(
                    [AddressType] varchar(50),
                    [Country] varchar(50),
                    [PostalCity] varchar(50),
                    [PostalNumber] varchar(50),
                    [Street]  varchar(50),
                    [CO_Address]  varchar(50),
                    [PersonId] varchar(50) ..//..//PersonId',--(此处应该为单斜杠,应为blog编辑器写单斜杠有问题,所以将其写为双斜杠)
                    [PersonalNumber] varchar(50) '..//..//@PersonalNumber'
                    )

        上边的代码中, 数据库直接读取了xml文件,然后解析 xml 数据,将其保存到Address_Temp 表中,蓝色文字部门,'..//..//PersonId' 表示单签节点 上两级节点 字段  PersonId 的值,如果带上'@' ,表示属性值。
        具体的openxml 的用法,可以参看一下链接:http://www.cnblogs.com/wuming/archive/2010/01/18/1650755.html

    http://technet.microsoft.com/zh-cn/ms175160.aspx

  • 相关阅读:
    springboot整合swagger2
    关于lombok
    RSA加密和AES加密
    守护进程监控tomcat并自启
    java按照目录结构压缩文件夹以及文件夹内内容
    wxx
    附加作业
    软工作业3
    软工作业2
    软工作业一 201621123070陈伟杰
  • 原文地址:https://www.cnblogs.com/Qiaoyq/p/2670847.html
Copyright © 2011-2022 走看看