使用OPENROWSET和OPENXML将XML导入SQL Server

首席合作官

以前从未做过,似乎在命名空间方面遇到了问题?任何帮助,将不胜感激。如果我xmlns从XML文件中删除属性,则可以正常工作...

样本XML:

<?xml version="1.0" encoding="UTF-8"?>
<ETS xsi:schemaLocation="http://www.caodc.ca/ETS/v3 ETS_v3.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.caodc.ca/ETS/v3">
<WellTours>
<WellTour>
<LicenseNo>001</LicenseNo>
<WellName>75-998</WellName>
</WellTour>
<WellTour>
<LicenseNo>007</LicenseNo>
<WellName>14-172</WellName>
</WellTour>
</WellTours>
</ETS>

这是我的SQL:

DECLARE @xml xml

SELECT @xml=I
FROM OPENROWSET (BULK 'C:\CCTESTFILE.XML', SINGLE_BLOB) as ImportFile(I)

SELECT @xml

DECLARE @hdoc int

EXEC sp_xml_preparedocument @hdoc OUTPUT, @xml

SELECT *
FROM OPENXML (@hdoc, '/ETS/WellTours/WellTour',2)
WITH (
        WellName varchar(100),
        LicenseNo varchar(100));

EXEC sp_xml_removedocument @hdoc
marc_s

仅使用内置的XQuery功能而不是旧的,笨重的和泄漏内存的OPENXML方法要简单得多

;WITH XMLNAMESPACES(DEFAULT 'http://www.caodc.ca/ETS/v3')
SELECT
    LicenseNo = XC.value('(LicenseNo)[1]', 'varchar(10)'),
    WellName = XC.value('(WellName)[1]', 'varchar(25)')
FROM
    @xml.nodes('/ETS/WellTours/WellTour') AS XT(XC)

给我输出:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server 2014:使用OpenXML和BulkColumn从XML提取数据

来自分类Dev

将XML导入SQL Server

来自分类Dev

使用XML将关系数据导入SQL Server

来自分类Dev

使用XML将关系数据导入SQL Server

来自分类Dev

使用属性将XML导入SQL Server表

来自分类Dev

将XML导入SQL Server,分成多行

来自分类Dev

将xml文件导入SQL Server的脚本

来自分类Dev

使用OPENROWSET的SQL Server中的语法问题

来自分类Dev

SQL Server-XML中的XML的OPENXML

来自分类Dev

通过OPENXML SQL Server 2008解析XML

来自分类Dev

使用条件语句将'xml'节点动态导入到SQL Server中

来自分类Dev

使用条件语句将'xml'节点动态导入到SQL Server中

来自分类Dev

将SOAP XML完全导入SQL Server 2012

来自分类Dev

将XML导入SQL Server数据库

来自分类Dev

将大型XML文件导入SQL Server CE

来自分类Dev

将大型XML文件导入SQL Server CE

来自分类Dev

将多级(元素)XML 文件导入 MS SQL Server 表

来自分类Dev

在SQL Server 2012中使用openXML

来自分类Dev

将txt导入SQL Server

来自分类Dev

SQL Server:在 IN() 子查询中使用 OPENROWSET 结果

来自分类Dev

使用where子句将txt文件导入SQL Server

来自分类Dev

使用SqlBulkCopy将CSV文件导入SQL Server

来自分类Dev

将 .sql 文件导入 SQL Server 2012

来自分类Dev

SQL Server 2014:无法使用bcp和格式文件将任何数据导入LocalDB(零行,无错误)

来自分类Dev

更新到Openrowset SQL SERVER 2008

来自分类Dev

更新到Openrowset SQL SERVER 2008

来自分类Dev

SQL Server导入和导出向导

来自分类Dev

SQL Server标识列和导入

来自分类Dev

SQL Server导入和导出向导