【发布时间】:2010-11-28 03:49:33
【问题描述】:
您为什么要使用 OPENXML 而不是 OPENROWSET (BULK 'file', SINGLE_BLOB) 并转换为 xml 数据类型?
【问题讨论】:
标签: sql-server xml
您为什么要使用 OPENXML 而不是 OPENROWSET (BULK 'file', SINGLE_BLOB) 并转换为 xml 数据类型?
【问题讨论】:
标签: sql-server xml
我认为你在这里比较的是完全不同的东西:
OPENROWSET 只是简单地将磁盘上的文件作为单个 blob 导入 - 如果您确实需要将该文件内容作为单个大块信息,这非常有用 - 如果您想存储整个文件内容作为单个 XML 字段
OPENXML 非常不同 - 它会打开并解释 XML 文件并将其转换为行集 - 它会根据源 XML 文件为您提供数据的行和列,然后您可以将该信息存储在表格中 - 以行和列的形式。您不会将 XML 作为一个大块来获取,而是已为您“分解”成行和列
所以这真的取决于您的需求 - 如果您需要将 XML 作为一个大块并存储它 - 使用 OPENROWSET。
如果您需要将 XML 中的数据表示为列和行,请使用 OPENXML(或者:先使用 OPENROWSET 将 XML 整体导入,然后使用 SQL 中的 XQuery 函数Server 2005 及以上版本,一旦加载就可以粉碎它)
【讨论】: