4

这是我有史以来的第一篇文章......我真的需要关于这个问题的帮助,所以任何对这个主题有一些了解的人 - 请帮助!

我需要做的是将 xml 文件读入 sql server 数据表。我一遍又一遍地寻找解决方案,实际上找到了一些。问题是正在加载的 xml 的大小。它的重量为 2GB(将有 10GB)。我设法做到了这一点,但我看到了一种特殊的解决方案,在我看来这是一个很棒的解决方案,但我无法弄清楚。

好的,让我们进入正题。目前我这样做:

  • 我使用 openrowset 将整个 XML 读入一个变量。(这需要整个 ram 内存......)
  • 接下来我使用 .node() 来提取数据并用它们填充表格。

那是一个两步的过程。我想知道我是否可以一步完成。我看到有诸如格式文件之类的东西,并且有许多示例说明如何使用它从平面文件中提取数据,甚至以基于记录的方式从 Excel 文档中提取数据(而不是将整个内容吸入变量中),但我找不到任何示例来说明如何将巨大的 XML 读入表中以动态解析数据(基于格式文件)。甚至可能吗?我真的很感激一些帮助,或者在哪里可以找到一个好例子的指导。

请原谅我的英语——我已经有一段时间没有用那种语言写这么多东西了:-) 提前谢谢!

4

1 回答 1

5

对于非常大的文件,您可以使用 SSIS:Loading XML data into SQL Server 2008

它使您可以灵活地转换 XML 数据,并减少非常大文件的内存占用。当然,与在 BULK 模式下使用 OPENROWSET 相比,它可能会更慢。

于 2011-01-19T00:42:18.537 回答