为什么要使用 OPENXML 而不是 OPENROWSET (BULK 'file', SINGLE_BLOB) 并转换为 xml 数据类型?
最佳答案
我认为您在这里比较的是完全不同的东西:
OPENROWSET 只是简单地将磁盘上的文件作为单个 blob 导入 - 如果您确实需要将该文件内容作为单个大块信息,这非常有用 - 如果您想要存储整个文件内容作为单个 XML 字段
OPENXML 非常不同 - 它会打开并解释 XML 文件并将其转换为行集 - 它会根据源 XML 文件为您提供数据行和列,然后您可以将该信息存储在表中 - 在行和列中。您并没有将 XML 作为一个大块来获取,而是已将其“分解”为行和列
所以这实际上取决于您的需求 - 如果您需要将 XML 作为一个大块并将其存储 - 使用 OPENROWSET。
如果您需要在 XML 中表示为列和行的数据,请使用 OPENXML(或者:首先使用 OPENROWSET 将 XML 作为一个整体导入,然后在 SQL 中使用 XQuery 函数Server 2005 及更高版本在加载后粉碎它)
关于sql-server - OPENXML 与 OPENROWSET 和 xml 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4295240/