【问题标题】:SET @xml = file_pathSET @xml = 文件路径
【发布时间】:2012-08-12 23:11:52
【问题描述】:

我需要将 XML 文件导入 SQL Server 2008 R2 数据库。

所以,我使用硬编码的 XML 数据进行查询:

DECLARE @xml XML
SET @xml='
<goods_item>
<goods_level>1</goods_level>
<goods_isgroup>1</goods_isgroup>
<goods_code>51852</goods_code>
<goods_name></goods_name>
<goods_parent></goods_parent>
<goods_art></goods_art>
<goods_buhart></goods_buhart>
<goods_inpack>0</goods_inpack>
<goods_packtxt></goods_packtxt>
<goods_country></goods_country>
<goods_gtd></goods_gtd>
<goods_nds>0</goods_nds>
<goods_unit></goods_unit>
</goods_item>
<goods_item>
<goods_level>1</g    oods_level>
<goods_isgroup>1</goods_isgroup>
<goods_code>51852</goods_code>
<goods_name></goods_name>
<goods_parent></goods_parent>
<goods_art></goods_art>
<goods_buhart></goods_buhart>
<goods_inpack>0</goods_inpack>
<goods_packtxt></goods_packtxt>
<goods_country></goods_country>
<goods_gtd></goods_gtd>
<goods_nds>0</goods_nds>
<goods_unit></goods_unit>
</goods_item>'

而且效果很好。但是如何将硬编码 XML 数据更改为 XML 文件的路径?

关于这个:

SET @xml='D:\xml1.xml'

【问题讨论】:

  • 什么数据库系统,哪个版本? SQL 只是 结构化查询语言 - 许多数据库系统使用的语言,但不是数据库产品... XML 支持等功能是高度特定于供应商的 - 所以我们真的需要知道您使用的是什么数据库系统....

标签: xml database import sql-server-2008-r2


【解决方案1】:

您可以先将其导入到临时表中,如下所示:

declare @insert nvarchar(1000), @pathname varchar(200), @xml xml

set @pathname = 'your path here'

create table #tmp_xml(xmldata xml)

set @insert = 'INSERT INTO #tmp_xml(xmldata) SELECT bulkcolumn 
      FROM OPENROWSET (BULK N''' + @pathname+ ''', SINGLE_BLOB) AS data'

exec sp_executesql @insert

select @xml = xmldata from #tmp_xml

-- read, parse xml here ....
drop table #tmp_xml

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 2012-12-12
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多