sql server openrowset一步读取巨大的xml文件

Air*_*and 4 xml sql sql-server openrowset

这是我的第一篇文章...而且我真的需要这方面的帮助,所以任何有这方面知识的人 - 请帮助!

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

好吧,让我们谈谈.目前我是这样做的:

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

这是一个两步的过程.我想知道我是否只能在一步中做到这一点.我看到有一些像格式文件这样的东西,有关于如何使用它从平面文件中提取数据甚至是基于记录的maner中的excel文件的数量示例(而不是将整个事物吸入变量)但是我找不到任何能够显示如何将这个巨大的XML读入到动态解析数据的表中的示例(基于格式文件).它甚至可能吗?我真的很感激一些帮助,或者指导在哪里找到一个好的例子.

原谅我的英语 - 已经有一段时间了,因为我必须用这种语言写这么多:-)在此先感谢!

Mit*_*eat 5

对于非常大的文件,您可以使用SSIS:将XML数据加载到SQL Server 2008中

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